OStack程序员社区-中国程序员成长平台

标题: jquery - 结合 jQuery 函数 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:09
标题: jquery - 结合 jQuery 函数

我在组合几个 jQuery 函数时遇到了麻烦。任何帮助表示赞赏。每个脚本单独工作,但是当我尝试将它们组合在一起时,只有一个工作(iOS 悬停),我不知道为什么。我正在为 iOS 设备上的问题做一些解决方法。我想在第一个函数中包含第二个我似乎做不到的函数。

只要注释掉第二个函数,第一个函数就可以正常工作:

$(document).ready (function(){
  /**iOS phone number fix for text color**/
  $(".phone #phonenumber").remove();
  $(".phone").append("<div id='phonenumber2'><span class='callustext'>Call us :  (800) 000-0000</span></div>");
  /**iPad fixes for subnav styling at 768px**/
  if(screen.width == 768){
    $("#innerpage .mainnav ul li ul").css("background","transparent");
    $("#innerpage .mainnav ul li.mainnavlink a:hover").css("color","#91b39e");
    $("#innerpage .mainnav ul li.mainnavlinkactive a:hover").css("color","#91b39e");
    $("#innerpage .mainnav ul li.mainnavlink ul li a").css("border-bottom","none");
    $("#innerpage .mainnav ul li.mainnavlinkactive ul li a").css("border-bottom","none");
    $("#innerpage .mainnav ul li.mainnavlink ul li a:link").css("text-transform","none").css("color","#d7d7d7");
  }
});

当第一个被注释掉时,第二个函数可以正常工作:

/**iOS Hover fix**/ 
 $(document).ready(function() {
   if(navigator.platform == "iPad") {
     $("a").each(function() {
       var onClick; // this will be a function
       var firstClick = function() {
         onClick = secondClick;
         return false;
       };
       var secondClick = function() {
         onClick = firstClick;
         return true;
       };
       onClick = firstClick;
       $(this).click(function() {
         return onClick();
       });
     });
   }
});

引用:iOS automatic hover fix?



Best Answer-推荐答案


$(document).ready 是一个在文档加载完成时调用的函数。如果你定义一个函数两次,第二个定义会覆盖第一个。所以你必须创建一个包含所有内容的单个 - 尝试

$(document).ready (function(){
  /**iOS phone number fix for text color**/
  $(".phone #phonenumber").remove();
  $(".phone").append("<div id='phonenumber2'><span class='callustext'>Call us :  (800) 000-0000</span></div>");
  /**iPad fixes for subnav styling at 768px**/
  if(screen.width == 768){
    $("#innerpage .mainnav ul li ul").css("background","transparent");
    $("#innerpage .mainnav ul li.mainnavlink a:hover").css("color","#91b39e");
    $("#innerpage .mainnav ul li.mainnavlinkactive a:hover").css("color","#91b39e");
    $("#innerpage .mainnav ul li.mainnavlink ul li a").css("border-bottom","none");
    $("#innerpage .mainnav ul li.mainnavlinkactive ul li a").css("border-bottom","none");
    $("#innerpage .mainnav ul li.mainnavlink ul li a:link").css("text-transform","none").css("color","#d7d7d7");
  }
  if(navigator.platform == "iPad") {
     $("a").each(function() {
       var onClick; // this will be a function
       var firstClick = function() {
         onClick = secondClick;
         return false;
       };
       var secondClick = function() {
         onClick = firstClick;
         return true;
       };
       onClick = firstClick;
       $(this).click(function() {
         return onClick();
       });
     });
   }
});

关于jquery - 结合 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23410322/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4