这以前是一个纯 CSS 手风琴,但是我决定为幻灯片添加一个切换功能,以使用户更容易使用,而不是在鼠标移出该区域时关闭它们。感谢我之前帖子中的帮助:
CSS Accordion -> 添加 jquery 以将“悬停”更改为切换但 JS 未注册?
我有一个有效的“悬停切换”,它在 JSFiddle 中正常工作:
我现在遇到的问题是,当我将代码放在 JSfiddle 之外并将其放入我的 HTML 中时,它就不起作用了。我检查了小提琴,将其从“Onload”更改为“No wrap - In body>”,它重现了我遇到的问题。
我去寻找解决方案,发现提到使用此代码将 JS 包装在头部。但是,要么我的语法不正确,要么它也不起作用:
$(document).ready(function() {//put your script here...});
我当前的 HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Pure CSS accordion</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body id="home">
<ul class="accordion" id="vertical">
<li class="slide-01">
<div>
<h2>Title goes Here</h2>
<br />
<img src="http://i.imgur.com/ezY207l.gif" height="125" width="180" /> <taxt>Text here</taxt>
</div>
</li>
</ul>
<script src="jquery.js"></script>
<script $('h3, ul.accordion li').on('click',function() {
console.log('hi');
$(this).closest('li').toggleClass('hover').siblings().removeClass('hover');
});
</script>
</body>
</html>
如果我把它放在头上:
<script src="jquery.js"></script>
<script $(document).ready(function() {$('h3, ul.accordion li').on('click',function() $(this).closest('li').toggleClass('hover').siblings().removeClass('hover');
});
</script>
然后CSS根本不加载。不过,我的语法可能很混乱/错误。任何帮助表示赞赏让这个工作。(必须像往常一样兼容 IE8 :( )