繁体   English   中英

我的自定义Javascript代码如何在我的Wordpress网站的一页上而不在其他页面上起作用?

[英]How come my custom Javascript code is working on one page of my Wordpress site but not on others?

当前设置

我正在使用Wordpress创建一个玩偶艺术家网站,并且为每个玩偶创建了一个自定义.php模板。 例如,对于Cher娃娃,我创建了cher.php 然后在wp admin中,我创建了一个名为cher的页面,并在Page Attributes> Template中选择cher作为模板。 因此,当我转到http://mitemiu.com/cher页面时,将加载cher娃娃模板cher.php 该页面工作正常。

cher.php首先通过get_header();调用header.php get_header(); 功能。 header.php函数中,我链接到jquery-1.5.min.jsjquery.galleriffic.jsmitemiu.js

Gallerific 2.0是一个基于jQuery的图库插件, mitemiu.js是我的自定义Javascript文件,其中包含:

  1. Gallerific自定义设置(图像过渡速度,要加载的UI组件等)
  2. 自定义函数toggleSlider()用于显示/隐藏玩偶选择菜单
  3. 单击包含标题doll a元素时要运行toggleSlider()语句

相关文件 jquery-1.5.min.jsjquery.galleriffic.js仍然是纯净的,对我jquery.galleriffic.js是不变的)


问题

当您访问http://mitemiu.com/cher时 ,页面将加载并正常运行。 单击顶部导航栏中的玩偶链接时, #doll-menu toggleSlider() #doll-menu DIV将通过toggleSlider()函数向下滑动/淡入。 再次单击它, #doll-menu DIV淡出/向上滑动。

一切都很好,但是当您说网站上的任何其他页面(博客,订单,关于,联系方式) ,然后尝试单击娃娃链接BOOM时! 没用

娃娃链接为什么只在所有娃娃页面上起作用而在其他页面上不起作用?
是否发生某种JS冲突?

所有其他链接的href属性都是正确的。 但是,洋娃娃页面的href属性是“#”,它仅重定向到页面顶部。

因此,在所有洋娃娃页面上,这似乎都是正确的,因为它到达了洋娃娃页面的顶部。 但是在所有其他页面上,它只是达到了最高点。 在其他页面上,只需修复玩偶链接的href属性。

它在其他页面上不起作用,因为在您的mitemiu.js ,第一个函数假定存在div id thumbs ,而在娃娃页面之外不存在div id thumbs

jQuery(document).ready(function($) {
    var gallery = $('#thumbs').galleriffic({ ...

它找不到ID为“ thumbs ”的div,并且未加载其余的JS。 如果您从其他页面中删除此顶级功能,则效果很好: http : //jsfiddle.net/FdqxS/

或者,如果您不想使用单独的JS文件,请使用以下命令检查div:

if($('#thumbs').length > 0

暂无
暂无

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

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