这是 WordPress 短代码中使用的代码。功能几乎不言自明:它是一个简单的视频库 - 单击播放列表框将主视频 div 的 html 替换为隐藏 div 之一的内容。
HTML
<div class="main-video">
<iframe src="http://player.vimeo.com/video/50781537" frameborder="0" width="630" height="400"></iframe>
</div>
<div id="video-playlist-wrapper">
<ul class="video-playlist">
<a href="#"><li><div class="playlist-video-wrapper"><div class="playlist-video-title">Title 1</div><div id="playlist-video1">Desc 1</div></div></li></a>
<a href="#"><li><div class="playlist-video-wrapper"><div class="playlist-video-title">Title 2</div><div id="playlist-video2">Desc 2</div></div></li></a>
<a href="#"><li><div class="playlist-video-wrapper"><div class="playlist-video-title">Title 3</div><div id="playlist-video3">Desc 3</div></div></li></a>
<a href="#"><li><div class="playlist-video-wrapper-last"><div class="playlist-video-title">Title 4</div><div id="playlist-video4">Desc 4</div></div></li></a>
</ul>
</div>
<div id="playlist-video1-content" class="hidden-video"><iframe src="http://player.vimeo.com/video/50781537" frameborder="0" width="630" height="354"></iframe></div>
<div id="playlist-video2-content" class="hidden-video"><iframe src="http://player.vimeo.com/video/50697289" frameborder="0" width="215" height="130"></iframe></div>
<div id="playlist-video3-content" class="hidden-video"><iframe src="http://player.vimeo.com/video/50771550" frameborder="0" width="215" height="130"></iframe></div>
<div id="playlist-video4-content" class="hidden-video"><iframe src="http://player.vimeo.com/video/50750012" frameborder="0" width="215" height="130"></iframe></div>
</div>
jQuery
jQuery(document).ready(function($) {
$('#playlist-video1').click(function() {
$('.main-video').html($('#playlist-video1-content').html());
return false;
});
$('#playlist-video2').click(function() {
$('.main-video').html($('#playlist-video2-content').html());
return false;
});
$('#playlist-video3').click(function() {
$('.main-video').html($('#playlist-video3-content').html());
return false;
});
$('#playlist-video4').click(function() {
$('.main-video').html($('#playlist-video4-content').html());
return false;
});
});
问题:有时链接事件仍然发生并重新加载带有 href="#" 的页面,导致跳转到页面顶部并且没有替换 html。其他时候它可以正常工作,并且主视频会使用其中一个播放列表视频进行更新。
为什么会这样?我反复查看代码,找不到任何错误或问题。当我使用 xampp 在本地开发它时,一切正常,没有问题。现在在 WordPress 网站上,它正在崩溃。
页面是否可能已经加载了太多的 Jquery,并且加载视频库 jquery 的时间太长。任何帮助表示赞赏!谢谢。
这是一个小提琴: http://jsfiddle.net/ xjpv2 /1/ `