繁体   English   中英

jQuery .load函数仅在Chrome中有效

[英]JQuery .load function only working in Chrome

页面加载后,我想使用JQuery从div元素中获取数据属性,该元素包含颜色值。 然后,我要的颜色值应用到SVG图像 在Chrome浏览器中工作正常,但在IE / Firefox中却不能:

$("div.socialmediaicons svg").load(function(event) { 

  var socialcoloractive = $(this).closest("div").data("socialcoloractive");
  var socialcolorinactive = $(this).closest("div").data("socialcolorinactive");

  TweenMax.to(".iconactive svg", 1.5, {
      fill: socialcoloractive,
  });
  TweenMax.to(".iconinactive svg", 1.5, {
      fill: socialcolorinactive,
  });

});

我找到的最接近解决方案的是这篇文章: jQuery将css应用到load div,但是我不知道如何使用回调来修改代码。

任何帮助表示赞赏,谢谢。

由于您具有内联SVG元素,因此我认为您不必等待它们加载,但是Chrome可能会对它们触发load事件。 无论如何,您只想遍历这些元素并更改颜色:

$("div.socialmediaicons svg").each(function() { 

  var socialcoloractive = $(this).closest("div").data("socialcoloractive");
  var socialcolorinactive = $(this).closest("div").data("socialcolorinactive");

  TweenMax.to(".iconactive svg", 1.5, {
      fill: socialcoloractive,
  });
  TweenMax.to(".iconinactive svg", 1.5, {
      fill: socialcolorinactive,
  });

});

简化的演示: https : //jsfiddle.net/zs0meqsh/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM