我找到了一个正在努力完成的JSfiddle:http://jsfiddle.net/gdoron/YwKVt/3/
我有一个foreach循环:
<div class="box-product">
<?php
$counter = 0;
?>
<?php foreach ($products as $product) { ?>
<?php $counter++; ?>
<div class="feature prod-<?php echo $counter ?>">
<?php if ($product['thumb']) { ?>
<div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
<?php } ?>
<div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
<?php if ($product['price']) { ?>
<div class="price">
<?php if (!$product['special']) { ?>
<?php echo $product['price']; ?>
<?php } else { ?>
<span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
<?php } ?>
</div>
<?php } ?>
<?php if ($product['rating']) { ?>
<div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div>
<?php } ?>
<div class="cart"><input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div>
</div>
<?php } ?>
</div>
输出是这样的:
<div class="box-product">
<div class="feature prod-1">
<div class="feature prod-2">
<div class="feature prod-3">
<div class="feature prod-4">
</div>
我尝试通过添加到我的标题来实现该js小提琴的解决方案:
<script type="text/javascript">
$('.feature').hover(function(){
$(this).siblings().addClass('fade');
}, function(){
$(this).siblings().removeClass('fade');
});
</script>
并添加了课程:
.fade{opacity:.5;}
没有运气。有没有更好的方法来实现这个?
答案 0 :(得分:1)
我不确定,但是在DOM准备好之前你是否试图执行它?
http://api.jquery.com/ready/
http://api.jquery.com/load-event/
这两个是加载页面时触发的事件。在页面完全加载之前,您使用的代码将无法使用。
另外,您的html标记中出现错误<div>
需要使用</div>
正确关闭
答案 1 :(得分:0)
刚刚添加,效果很好:
<script type="text/javascript">
jQuery(document).ready(function($) {
$('.feature').hover(function(){
$(this).siblings().addClass('fade');
}, function(){
$(this).siblings().removeClass('fade');
});
});
</script>