0

我目前有一个图像在鼠标悬停在 div 上时显示...但是如果“div”的 HTML 属性为“align="center" 并且没有,我只显示鼠标旁边的图像那么我不想显示图像?

我想我很安静,但我不知道如何调用 var“divalign”属性,昨晚花了一整夜:S

$(document).ready(function() {
    var $img = $("#MainImage");
    $img.hide();
    var divalign = $("div").attr("align="center");
    $('div').mousemove(function(e) {
        $img.fadeIn(0);
        $img.offset({
            top: e.pageY - $img.outerHeight()-2,
            left: e.pageX - ($img.outerWidth()-18)
        });
    }).mouseleave(function() {
        $img.fadeOut(250);
    });
});

提前致谢。

4

4 回答 4

4
  $('div').mousemove(function(e) {
      if ($(this).attr('align') === 'center') {
        // only show if the align attribute has value center
        $img.fadeIn(0);
        $img.offset({
            top: e.pageY - $img.outerHeight()-2,
            left: e.pageX - ($img.outerWidth()-18)
        });
      }
    }).mouseleave(function() {
        $img.fadeOut(250);
    });
于 2012-11-16T03:45:22.080 回答
1

你在这一行有错误

 var divalign = $("div").attr("align="center");

将其更改为

 var divalign = $("div").attr("align","center");
于 2012-11-16T03:45:46.743 回答
1

如果你能给这些 DIV 一个类名(例如:class="alignCenter"),然后在这些 div 上注册事件处理程序,它会更简洁。

$('div.alignCenter').on('mousemove', function(e) {
     ..........................

});

于 2012-11-16T03:48:46.677 回答
0

尝试这个:

$('div[align="center"]').mousemove(function(e) {
        $img.fadeIn(0);
        $img.offset({
            top: e.pageY - $img.outerHeight()-2,
            left: e.pageX - ($img.outerWidth()-18)
        });
      }
    }).mouseleave(function() {
        $img.fadeOut(250);
    });
于 2012-11-16T03:41:40.373 回答