0

我已经开发了一些用于图像滑动的代码,其中每当发生鼠标事件时,我都想要id另一个div,但鼠标所在的位置除外。

我的代码是:

$('#div1,#div2,#div3,#div4,#div5,#div6').mouseover(function () {
    $('#div1,#div2,#div3,#div4,#div5,#div6').css('width', '100px')
    $("." + $(this).data('class')).animate({                   
        'width':"400px",                   
    }, {
        'duration':1500,
        easing:'easeOutBack',
    })
});
4

3 回答 3

1

我建议将其更改为使用类而不是 id。它会让你的代码更整洁。

给每个你想产生这种效果的元素一个类,animated然后试试这个代码。

$('.animated').mouseover(function () {
  $(this).removeClass('animated');
  $('.animated').css('width', '100px')
  $(this)
    .addClass('animated')
    .animate({                   
      'width':"400px",                   
    }, 1500);
});

这是一个展示它的例子。虽然我不认为你的代码做你想做的事。

于 2013-02-05T09:56:06.253 回答
0

用于.not从匹配元素集中移除悬停在 div 上的元素。

$('#div1,#div2,#div3,#div4,#div5,#div6').mouseover(function () {
    $('#div1,#div2,#div3,#div4,#div5,#div6').not(this).css('width', '100px')
    $("." + $(this).data('class')).animate({                   
                    'width':"400px",                   
                }, {
                    'duration':1500,
                    easing:'easeOutBack',
                })
    });

附带说明一下,在这种情况下使用类选择器会更干净。

于 2013-02-05T09:55:18.843 回答
0
$( function() {
$("[id^=div]").mouseover( function() {
  var my = $(this).attr("id");
  var id = new Array;
  $("[id^=div]").each( function() {
    if($(this).attr("id") != my) {
       id.push($(this).attr("id"));
    }
  });
});
});

工作小提琴或示范

您可以访问每个属性。

我已获取所有 id 并将所有 id 添加到 array id。您可以在您的函数中进一步访问它。

于 2013-02-05T09:59:02.873 回答