0

ここで達成しようとしていることの動作する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;}

運がない。これを実装するより良い方法はありますか?

4

2 に答える 2

1

よくわかりませんが、DOM の準備が整う前に実行しようとしているのですか?

http://api.jquery.com/ready/
http://api.jquery.com/load-event/

この 2 つは、ページが読み込まれたときに発生するイベントです。使用しているコードは、ページが完全に読み込まれるまで機能しません。

さらに、HTMLマークアップにエラーがあり、次<div>を使用して適切に閉じる必要があります</div>

于 2013-01-13T16:36:45.310 に答える
0

追加しただけでうまくいきました:

<script type="text/javascript">
 jQuery(document).ready(function($) {
  $('.feature').hover(function(){
  $(this).siblings().addClass('fade');
  }, function(){
  $(this).siblings().removeClass('fade');
  });
   });
 </script>
于 2013-01-13T17:22:49.477 に答える