【问题标题】:Jquery flickering using displayJquery使用显示闪烁
【发布时间】:2013-09-08 08:45:45
【问题描述】:

大家好,我有闪烁的问题。我创建了一个小提琴,所以你们可以帮助我。谢谢!!!

JSfiddle

JS-代码:

$(document).ready(function(){

   $("img").mouseover(function(){
      $("img").css("display","none");
   });

   $("img").mouseout(function(){
      $("img").css("display","block");
   });
});

【问题讨论】:

  • 好吧,这个逻辑没什么意义,当你将它悬停时隐藏元素,但此时 mouseout 触发并再次显示它,相关代码也应包含在问题中

标签: jquery hover flicker


【解决方案1】:

你可以试试opacity,而不是display。这不会删除 img 而是使其透明,因此它仍然可以接收鼠标事件:

$(document).ready(function(){

   $("img").mouseover(function(){
      $("img").css("opacity",0);
   });

   $("img").mouseout(function(){
      $("img").css("opacity",1);
   });
});

【讨论】:

  • 如何让 jquery 处理它:.fadeTo(300,0) 和 .fadeTo(300,1)
  • @Michal 不,jQuery 会自动执行此操作。这实际上是 jQuery 的重点。
  • 这实际上更适合 CSS。 img:hover { opacity: 0; }
  • @ultraviol3tlux 绝对正确,但是您必须担心浏览器兼容性问题,就像 Michal(删除了他的评论)所说的那样,因为 7,8 不支持不透明度。
  • 嗯,他们确实......你只需要使用过滤器。 filter: alpha(opacity=0);
猜你喜欢
  • 2017-10-14
  • 1970-01-01
  • 2016-12-25
  • 2018-06-11
  • 2011-02-02
  • 1970-01-01
  • 2011-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多