首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JS文件出现在源代码中,但Javascript没有执行吗?

JS文件出现在源代码中,但Javascript没有执行吗?
EN

Stack Overflow用户
提问于 2014-12-01 08:41:49
回答 1查看 146关注 0票数 1

我正在添加一个CSS响应,动画手风琴类型的组合到我的WordPress网站。我的JS文件显示在源代码中,但效果仍然不起作用。由于某种原因,javascript没有执行。

这是我的JS (/inc/js/coron.js)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*!
 * classie - class helper functions
 * from bonzo https://github.com/ded/bonzo
 *
 * classie.has( elem, 'my-class' ) -> true/false
 * classie.add( elem, 'my-new-class' )
 * classie.remove( elem, 'my-unwanted-class' )
 * classie.toggle( elem, 'my-class' )
 */

/*jshint browser: true, strict: true, undef: true */
/*global define: false */

jQuery(document).ready(function($) {

      function(window) {

        'use strict';

        // class helper functions from bonzo https://github.com/ded/bonzo

        function classReg(className) {
          return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
        }

        // classList support for class management
        // altho to be fair, the api sucks because it won't accept 

        multiple classes at once
        var hasClass, addClass, removeClass;

        if ('classList' in document.documentElement) {
          hasClass = function(elem, c) {
            return elem.classList.contains(c);
          };
          addClass = function(elem, c) {
            elem.classList.add(c);
          };
          removeClass = function(elem, c) {
            elem.classList.remove(c);
          };
        } else {
          hasClass = function(elem, c) {
            return classReg(c).test(elem.className);
          };
          addClass = function(elem, c) {
            if (!hasClass(elem, c)) {
              elem.className = elem.className + ' ' + c;
            }
          };
          removeClass = function(elem, c) {
            elem.className = elem.className.replace(classReg(c), ' ');
          };
        }

        function toggleClass(elem, c) {
          var fn = hasClass(elem, c) ? removeClass : addClass;
          fn(elem, c);
        }

        var classie = {
          // full names
          hasClass: hasClass,
          addClass: addClass,
          removeClass: removeClass,
          toggleClass: toggleClass,
          // short names
          has: hasClass,
          add: addClass,
          remove: removeClass,
          toggle: toggleClass
        };

        // transport
        if (typeof define === 'function' && define.amd) {
          // AMD
          define(classie);
        } else {
          // browser global
          window.classie = classie;
        }

      })(window);

    //fake jQuery
    var $ = function(selector) {
      return document.querySelector(selector);
    }
    var accordion = $('.accordion');





    //add event listener to all anchor tags with accordion title class
    accordion.addEventListener("click", function(e) {
      e.stopPropagation();
      e.preventDefault();
      if (e.target && e.target.nodeName == "A") {
        var classes = e.target.className.split(" ");
        if (classes) {
          for (var x = 0; x < classes.length; x++) {
            if (classes[x] == "accordionTitle") {
              var title = e.target;

              //next element sibling needs to be tested in IE8+ for 

              any crashing problems
              var content = e.target.parentNode.nextElementSibling;

              //use classie to then toggle the active class which will 

              then open and close the accordion

              classie.toggle(title, 'accordionTitleActive');
              //this is just here to allow a custom animation to treat 

              the content
              if (classie.has(content, 'accordionItemCollapsed')) {
                if (classie.has(content, 'animateOut')) {
                  classie.remove(content, 'animateOut');
                }
                classie.add(content, 'animateIn');

              } else {
                classie.remove(content, 'animateIn');
                classie.add(content, 'animateOut');
              }
              //remove or add the collapsed state
              classie.toggle(content, 'accordionItemCollapsed');




            }
          }
        }

      }
    });
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//My CSS - Accordion Styling
@import url(http://fonts.googleapis.com/css?family=Lato:400,700);
 * {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  font-family: 'Lato';
}
h1 {
  text-align: center;
}
.accordion dl {
  border: 1px solid #ddd;
}
.accordion dl:after {
  content: "";
  display: block;
  height: 1em;
  width: 100%;
  background-color: #2ba659;
}
.accordion dt > a {
  text-align: center;
  font-weight: 700;
  padding: 2em;
  display: block;
  text-decoration: none;
  color: #fff;
  -webkit-transition: background-color 0.5s ease-in-out;
}
.accordion dd {
  background-color: #eee;
  font-size: 1em;
  line-height: 1.5em;
}
.accordion dd > p {
  padding: 1em 2em 1em 2em;
}
.accordion {
  position: relative;
  background-color: #eee;
}
.container20 {
  max-width: 960px;
  margin: 0 auto;
  padding: 2em 0 2em 0;
}
.accordionTitle {
  background-color: #38cc70;
  border-bottom: 1px solid #30bb64;
}
.accordionTitle:before {
  content: "+";
  font-size: 1.5em;
  line-height: 0.5em;
  float: left;
  -moz-transition: -moz-transform 0.3s ease-in-out;
  -o-transition: -o-transform 0.3s ease-in-out;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
}
.accordionTitle:hover {
  background-color: #2ba659;
}
.accordionTitleActive {
  background-color: #2ba659;
}
.accordionTitleActive:before {
  -webkit-transform: rotate(-225deg);
  -moz-transform: rotate(-225deg);
  transform: rotate(-225deg);
}
.accordionItem {
  height: auto;
  overflow: hidden;
}
@media all {
  .accordionItem {
    max-height: 50em;
    -moz-transition: max-height 1s;
    -o-transition: max-height 1s;
    -webkit-transition: max-height 1s;
    transition: max-height 1s;
  }
}
@media screen and (min-width: 48em) {
  .accordionItem {
    max-height: 15em;
    -moz-transition: max-height 0.5s;
    -o-transition: max-height 0.5s;
    -webkit-transition: max-height 0.5s;
    transition: max-height 0.5s;
  }
}
.accordionItemCollapsed {
  max-height: 0;
}
.animateIn {
  -webkit-animation-name: accordionIn;
  -webkit-animation-duration: 0.65s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-direction: normal;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: both;
  -webkit-animation-delay: 0s;
  -moz-animation-name: normal;
  -moz-animation-duration: 0.65s;
  -moz-animation-iteration-count: 1;
  -moz-animation-direction: alternate;
  -moz-animation-timing-function: ease-in-out;
  -moz-animation-fill-mode: both;
  -moz-animation-delay: 0s;
  -webkit-animation-name: accordionIn;
  -webkit-animation-duration: 0.65s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-direction: normal;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: both;
  -webkit-animation-delay: 0s;
}
.animateOut {
  -webkit-animation-name: accordionOut;
  -webkit-animation-duration: 0.75s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-direction: alternate;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: both;
  -webkit-animation-delay: 0s;
  -moz-animation-name: accordionOut;
  -moz-animation-duration: 0.75s;
  -moz-animation-iteration-count: 1;
  -moz-animation-direction: alternate;
  -moz-animation-timing-function: ease-in-out;
  -moz-animation-fill-mode: both;
  -moz-animation-delay: 0s;
  -webkit-animation-name: accordionOut;
  -webkit-animation-duration: 0.75s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-direction: alternate;
  -webkit-animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: both;
  -webkit-animation-delay: 0s;
}
@-webkit-keyframes accordionIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
  }
}
@-moz-keyframes accordionIn {
  0% {
    opacity: 0;
    -moz-transform: scale(0.8);
  }
  100% {
    opacity: 1;
    -moz-transform: scale(1);
  }
}
@-webkit-keyframes accordionIn {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@-webkit-keyframes accordionOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
}
@-moz-keyframes accordionOut {
  0% {
    opacity: 1;
    -moz-transform: scale(1);
  }
  100% {
    opacity: 0;
    -moz-transform: scale(0.8);
  }
}
@-webkit-keyframes accordionOut {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.8);
  }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//And My HTML
<div class="container20">
  <div class="accordion">
    <dl>
      <dt><a class="accordionTitle" href="#">First Accordion heading</a></dt>
      <dd class="accordionItem accordionItemCollapsed">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eu interdum diam. Donec interdum porttitor risus non bibendum. Maecenas sollicitudin eros in quam imperdiet placerat. Cras justo purus, rhoncus nec lobortis ut, iaculis vel ipsum.
          Donec dignissim arcu nec elit faucibus condimentum. Donec facilisis consectetur enim sit amet varius. Pellentesque justo dui, sodales quis luctus a, iaculis eget mauris.</p>
        <p>Aliquam dapibus, ante quis fringilla feugiat, mauris risus condimentum massa, at elementum libero quam ac ligula. Pellentesque at rhoncus dolor. Duis porttitor nibh ut lobortis aliquam. Nullam eu dolor venenatis mauris placerat tristique eget
          id dolor. Quisque blandit adipiscing erat vitae dapibus. Nulla aliquam magna nec elementum tincidunt.</p>
      </dd>
      <dt><a href="#" class="accordionTitle">Second Accordion heading</a></dt>
      <dd class="accordionItem accordionItemCollapsed">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eu interdum diam. Donec interdum porttitor risus non bibendum. Maecenas sollicitudin eros in quam imperdiet placerat. Cras justo purus, rhoncus nec lobortis ut, iaculis vel ipsum.
          Donec dignissim arcu nec elit faucibus condimentum. Donec facilisis consectetur enim sit amet varius. Pellentesque justo dui, sodales quis luctus a, iaculis eget mauris.</p>
        <p>Aliquam dapibus, ante quis fringilla feugiat, mauris risus condimentum massa, at elementum libero quam ac ligula. Pellentesque at rhoncus dolor. Duis porttitor nibh ut lobortis aliquam. Nullam eu dolor venenatis mauris placerat tristique eget
          id dolor. Quisque blandit adipiscing erat vitae dapibus. Nulla aliquam magna nec elementum tincidunt.</p>
      </dd>
      <dt><a href="#" class="accordionTitle">Third Accordion heading</a></dt>
      <dd class="accordionItem accordionItemCollapsed">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eu interdum diam. Donec interdum porttitor risus non bibendum. Maecenas sollicitudin eros in quam imperdiet placerat. Cras justo purus, rhoncus nec lobortis ut, iaculis vel ipsum.
          Donec dignissim arcu nec elit faucibus condimentum. Donec facilisis consectetur enim sit amet varius. Pellentesque justo dui, sodales quis luctus a, iaculis eget mauris.</p>
        <p>Aliquam dapibus, ante quis fringilla feugiat, mauris risus condimentum massa, at elementum libero quam ac ligula. Pellentesque at rhoncus dolor. Duis porttitor nibh ut lobortis aliquam. Nullam eu dolor venenatis mauris placerat tristique eget
          id dolor. Quisque blandit adipiscing erat vitae dapibus. Nulla aliquam magna nec elementum tincidunt.</p>
      </dd>
    </dl>
  </div>
</div>

这里是在码页上,它在那里工作得很好,但是如果您运行上面的代码片段,您将看到手风琴缺少了代码页上的功能。

这些效果并不适用于我的WordPress站点,或者上面的堆栈溢出片段,尽管我已经将代码复制并粘贴到了JS文件中。由于JS文件显示在我的WordPress站点的源代码中,我不知道为什么它没有执行。

问题是否在于我的JS文件如何落入DOM结构中?我不知道。

html标记是相同的,CSS也是一样(一些微小的变化)。

有人知道和JS在一起的人能帮我吗?

有问题的页

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-01 10:37:55

您的javascript没有运行,因为Wordpress与它加载的其他库有兼容性问题。要解决这个问题,您可以看看这个链接

其背后的想法是,jQuery库包括在WordPress被设置为noConflict()模式。这是为了防止与WordPress可以链接的其他WordPress库的兼容性问题(我直接引用它们)。

在noConflict()模式中,jQuery的全局$快捷方式不可用,因此可以使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jQuery(document).ready(function(){
    jQuery(#somefunction) ...
});

这只是一个用$代替jQuery的问题。

如果您真的非常想使用您的$,可以将它封装在下面的代码中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jQuery(document).ready(function($) {
    // Inside of this function, $() will work as an alias for jQuery()
    // and other libraries also using $ will not be accessible under this shortcut
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27233028

复制
相关文章
使用 RequireJS 加载 AngularJS
AngularJS 目前的版本没有遵循 Javascript 约定的 AMD 模块化规范, 因此使用 RequireJS 加载 AngularJS 时需要一些额外的配置。
beginor
2020/08/10
1.3K0
使用 RequireJS 加载 AngularJS
如何改善应用程序在 Linux 中的启动时间
大多数 Linux 发行版在默认配置下已经足够快了。但是,我们仍然可以借助一些额外的应用程序和方法让它们启动更快一点。其中一个可用的这种应用程序就是 Preload。它监视用户使用频率比较高的应用程序,并将它们添加到内存中,这样就比一般的方式加载更快一点。因为,正如你所知道的,内存的读取速度远远快于硬盘。Preload 以守护进程的方式在后台中运行,并记录用户使用较为频繁的程序的文件使用相关的统计数据。然后,它将这些二进制文件及它们的依赖项加载进内存,以改善应用程序的加载时间。简而言之,一旦安装了 Preload,你使用较为频繁的应用程序将可能加载的更快。
用户8639654
2021/10/15
3.8K0
解决angularjs图片加载失败
angularjs图片加载失败,本文的angularjs图片加载失败中的angularjs指的是angular2、angular4。
全栈程序员站长
2022/09/02
1.5K0
Angularjs动态加载ECharts(二)
今早操作的时候又有了问题,我需要做的是select下拉框选择时间,然后将对应时间的数据显示到ECharts上 如图所示
治电小白菜
2020/08/25
7370
Angularjs动态加载ECharts(二)
tomcat配置多域名站点启动时项目重复加载多次
在tomcat中配置多个Host的时候, 出现项目重复启动多次的情况. 刚开始以为是spring boot发布项目的时候自带了一个tomcat引起的, 后来发现不是
用户7798898
2020/09/27
1.4K0
tomcat配置多域名站点启动时项目重复加载多次
Angularjs动态加载ECharts(一)
今早发现,directive写的echarts组件,虽然能够获取到Controller中的数据,但是当我使用$http请求到的数据,想传到directive却总是获取不到,知道这是异步问题,图表加载后,数据才请求到,所以图表加载不了数据 解决方法 使用ng-if,判断,如果有数据才显示,完美解决 <realtem-data ng-if="data" id="temdata" legend="legend" item="item" data="data"></realtem-data> 其余代码 con
治电小白菜
2020/08/25
9410
Angularjs动态加载ECharts(一)
按需加载 AngularJS 的 Controller
AngularJS 通过路由支持多视图应用, 可以根据路由动态加载所需的视图, 在 AngularJS 的文档中有详细的介绍, 网上也有不少教程, 就不用介绍了!
beginor
2020/08/10
1.2K0
springboot启动时是如何加载配置文件application.yml文件
今天启动springboot时,明明在resources目录下面配置了application.yml的文件,但是却读不出来,无奈看了下源码,总结一下springboot查找配置文件路径的过程,能力有限,欢迎各位大牛指导!!!
全栈程序员站长
2022/10/29
1.2K0
springboot启动时是如何加载配置文件application.yml文件
AngularJS中的按需加载ocLazyLoad
初学者,有不足的地方希望各位指出 一、前言     ocLoayLoad是AngularJS的模块按需加载器。一般在小型项目里,首次加载页面就下载好所有的资源没有什么大问题。但是当我们的网站渐渐庞大起来,这样子的加载策略让网速初始化速度变得越来越慢,用户体验不好。二来,分模块加载易于团队协作,减低代码冲突。   二、按需加载的对象 各个Controller模块、Directive模块、Server模块、template模板,其实这些都是一些 .js文件或者 .html文件 。     三 、按需加载的场
庞小明
2018/03/07
1.7K0
Spring Boot 在启动时进行配置文件加解密
Spring Boot Application 事件和监听器 寻找到application.yml的读取的操作。 从spring.factories 中查看到 # Application Listeners org.springframework.context.ApplicationListener=\ org.springframework.boot.context.config.ConfigFileApplicationListener,\ ConfigFileApplicationListener
云扬四海
2020/06/16
1.8K0
AngularJs之路由配置(一)
我们新建好home组件后在app-routing.modules.ts中配置路路径
黄林晴
2019/01/10
9060
外包精通--在 ArgoCD 中加载现有的 Helm 应用程序
GitOps 是为云原生应用程序实施持续部署的推荐方式。它通过在部署应用程序时最大限度地减少手动错误来帮助组织,因为 Git 将是唯一的真实来源。因此,可以轻松地跨团队跟踪更改。
Godev
2023/05/09
3.2K0
AngularJs之路由配置(二)
我们使用 <a [routerLink]="['/prouct',1]" >商品详情</a>
黄林晴
2019/01/10
7490
SpringBoot2.x基础篇:应用程序在启动时访问启动项参数
SpringBoot应用程序在启动时,我们可以传递自定义的参数来进行动态控制逻辑,比如我们使用--debug启动参数时就会使用debug启动应用程序,在控制台打印一些调试日志信息。
恒宇少年
2020/03/20
2.5K0
SpringBoot2.x基础篇:应用程序在启动时访问启动项参数
angularJS配合bootstrap动态加载弹出提示内容
该文章介绍如何使用AngularJS和Bootstrap来动态加载弹出提示内容。文章首先介绍了Bootstrap的弹出提示功能,然后使用AngularJS自定义了一个指令,给任意元素加上了popover属性,并可以根据情况改变popover的content内容。最后,文章使用这个指令实现了一个简单的示例,并返回了相关的HTML代码。
MJ.Zhou
2018/01/04
1.6K0
高效快速地加载 AngularJS 视图|TW洞见
今日洞见 文章作者、部分图片来自ThoughtWorks:陈计节。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在使用时必须注明"内容来源:ThoughtWorks洞见",并指定原文链接,违者本网将依法追究责任。 当AngularJS应用程序变大时,很多问题就开始显现出来了,比如多层级视图的加载问题。如果在子视图显示之前没有预加载,则可能在需要展示时发生视
ThoughtWorks
2018/04/17
1.2K0
高效快速地加载 AngularJS 视图|TW洞见
springboot如何加载应用程序
上篇《ClassLoader#getResource与Class#getResource的差别》[1]了解原生java获取资源方式以及方式之间的区别。
码农戏码
2022/11/18
1.1K0
springboot如何加载应用程序
OC底层探索16 -应用程序加载OC底层探索16 -应用程序加载
源文件-预编译-编译-汇编-链接-可执行文件 - dyld加载 链接: dyld链接器 - 动静态库(加载UIkit、FOunation库、libSystem) -读到 内存(表)-加载主程序中 -link(链接主程序-链接动态库)-库的初始化- main()
用户8893176
2021/08/09
4020
OC底层探索16 -应用程序加载OC底层探索16 -应用程序加载
Angular 路由配置(预加载配置,懒加载配置)
(1)RouterModule对象提供了两个静态的方法:forRoot()和forChild()来配置路由信息。
玖柒的小窝
2021/11/04
3.2K0
angularJS学习之路(二十二)---模块加载---config
这种方法带有两个参数,一个是模板名,一个是依赖注入列表,数组为空,表示当前注册的模板不需要依赖关系
wust小吴
2019/07/08
1.2K0

相似问题

应用程序启动时AngularJS加载数据

12

如何在应用程序启动时加载配置?

11

WinJS在启动时加载配置数据

14

Angular2-在应用程序启动时加载配置数据

213

启动时加载RabbitMQ配置

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文