2

我正在尝试使用在这里找到的切换代码:http: //jsfiddle.net/wGbh5/。这似乎很简单,并且完全按照我的意愿行事。

所以我的style.css文件中有以下代码:

.clickme {
background-color: #eee;
border-radius: 4px;
color: #666;
display: block;
margin-bottom: 5px;
padding: 5px 10px;
text-decoration: none;}

.clickme:hover {
    text-decoration: underline;
}

然后我创建了一个包含以下代码的toggle.js文件:

// Hide all the elements in the DOM that have a class of "box"
$('.box').hide();
// Make sure all the elements with a class of "clickme" are visible and bound
// with a click event to toggle the "box" state
$('.clickme').each(function() {
    $(this).show(0).on('click', function(e) {
        // This is only needed if your using an anchor to target the "box" elements
        e.preventDefault();

        // Find the next "box" element in the DOM
        $(this).next('.box').slideToggle('fast');
    });
});

我在我的 html 中调用了这两个文件,在header中使用了这些行

<link rel="stylesheet" href="http://localhost:8888/kirby/assets/styles/styles.css" />
<script src="http://localhost:8888/kirby/assets/js/toggle.js"></script>

正如您在链接中看到的,我正在使用 MAMP 在本地工作并试用 CMS Kirby

HTML 文件中,代码如下所示:

<a href="#" class="clickme">Click Me</a>
<div class="box">
    Lorem Ipsum is simply dummy text of the printing and typesetting industry. 
    Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, 
    when an unknown printer took a galley of type and scrambled it to make a type
</div>

问题是,当我在浏览器中加载 html 文件时,它不起作用(如果它工作正常,我会在这里?)。“clickme”和“box”内容都会显示,当我单击它们时没有任何附加内容。

谁能帮我解决我的问题?

非常感谢提前

4

1 回答 1

0

这很可能是您调用 css 和 js 文件的方式,这就是问题所在。用 kirby 调用 css 文件的正确方法是 css

<?php echo css('assets/styles/styles.css') ?> 

对于 js

<?php echo js('assets/js/toogle.js') ?>
于 2017-10-06T10:19:53.677 回答