1 回答

TA貢獻1796條經(jīng)驗 獲得超10個贊
在您當前的代碼中,您試圖從整個集合中獲取數(shù)據(jù)屬性,因此它將返回集合中第一個元素的數(shù)據(jù)屬性值。
除了class用于一組元素而不是id(id 在上下文中應(yīng)該是唯一的 -$("#tesq")將只選擇第一個元素)。
所以根據(jù)懸停的元素來做,你可以this在事件處理程序回調(diào)中使用它來引用元素。
PHP :
<ul class="menu">
<?php foreach($page->children() as $subpage): ?>
<li class="tesq" data-color="<?= $subpage->color() ?>">
<a href="<?= $subpage->url() ?>">
<?= html($subpage->title()) ?></a>
</li>
<?php endforeach ?>
</ul>
查詢:
$(function() {
$('.tesq').hover(function() {
var $this = $(this);
$("body").css('backgroundColor', function () {
return $this.data('color')
});
}, function() {
$("body").css('backgroundColor', 'lightgrey')
});
})
回調(diào)在這里完全沒有必要,你可以避免它。
$(function() {
$('.tesq').hover(function() {
$("body").css('backgroundColor', $(this).data('color'));
}, function() {
$("body").css('backgroundColor', 'lightgrey')
});
})
- 1 回答
- 0 關(guān)注
- 166 瀏覽
添加回答
舉報