2015-11-03 55 views
1

我剛剛在我的HTML中插入了一段非常簡單的javascript,雖然它根本不起作用,但我檢查了幾次,但找不到出了什麼問題。插入的js根本不工作

我插入的JavaScript添加了展開/摺疊功能。當我將我的HTML,CSS和JS分別粘貼到StackOverflow的代碼簿中時,它運行良好,但是當我將它們放在一起時,JS部分不起作用。

在此先感謝!

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<script> 
 
$('.accordionOm').next().hide(); 
 
$(".opened").next().show(); 
 
$('.accordionOm').click(function() { 
 
    if ($(this).hasClass("opened") == true) { 
 
    $(this).next().slideUp("slow"); 
 
    $(this).removeClass('opened'); 
 
    } else { 
 
    $(".opened").next().slideUp("slow"); 
 
    $(".opened").removeClass("opened"); 
 
    $(this).addClass('opened'); 
 
    $(this).next().slideDown("slow"); 
 
    } 
 
}); 
 
</script> 
 
</head> 
 

 
<style type="text/css"> 
 
.accordionOm { 
 
    position: relative; 
 
    padding: 10px 0 10px 30px; 
 
    margin: 0; 
 
    font: 300 18px 'Oswald', Arial, Helvetica, sans-serif; 
 
    cursor: pointer; 
 
} 
 
.accordionOm:hover { 
 
    color: #000; 
 
} 
 
.accordionOm:before, 
 
.accordionOm:after { 
 
    content: ""; 
 
    position: absolute; 
 
    background: #333; 
 
    display: inline-block; 
 
} 
 
.accordionOm:before { 
 
    width: 20px; 
 
    height: 2px; 
 
    left: 0; 
 
    top: 22px; 
 
} 
 
.accordionOm:after { 
 
    width: 2px; 
 
    height: 20px; 
 
    left: 9px; 
 
    top: 13px; 
 
    transition: transform .5s; 
 
    transform: rotate(0); 
 
} 
 
.accordionOm.opened:after { 
 
    transform: rotate(90deg); 
 
} 
 
.accordionOm + div { 
 
    border-left: 4px solid #999; 
 
    padding: 0 15px; 
 
    margin-left: 8px; 
 
    font: 13px 'Open Sans', Arial, Helvetica, sans-serif; 
 
    color: #666; 
 
} 
 
</style> 
 
<body> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h4 class="accordionOm opened">Accordian heading</h4> 
 
<div> 
 
    <p>Lorem ipsum dolor sit amet, adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa 
 
    quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus.</p> 
 
</div> 
 

 
<h4 class="accordionOm">Accordian heading</h4> 
 
<div> 
 
    <p>Lorem ipsum dolor sit amet, adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa 
 
    quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus.</p> 
 
</div> 
 

 
<h4 class="accordionOm">Accordian heading</h4> 
 
<div> 
 
    <p>Lorem ipsum dolor sit amet, adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa 
 
    quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus.</p> 
 
</div> 
 

 
<h4 class="accordionOm">Accordian heading</h4> 
 
<div> 
 
    <p>Lorem ipsum dolor sit amet, adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa 
 
    quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus.</p> 
 
</div> 
 
</body> 
 
</html>

回答

1

安放在你引用的jQuery標籤下方的腳本。由於它是從上到下執行的,所以當你的腳本運行時,瀏覽器沒有加載jQuery,所以什麼也沒有發生。

<!DOCTYPE html> 
 
<html> 
 
<head> 
 

 
</head> 
 

 
<style type="text/css"> 
 
.accordionOm { 
 
    position: relative; 
 
    padding: 10px 0 10px 30px; 
 
    margin: 0; 
 
    font: 300 18px 'Oswald', Arial, Helvetica, sans-serif; 
 
    cursor: pointer; 
 
} 
 
.accordionOm:hover { 
 
    color: #000; 
 
} 
 
.accordionOm:before, 
 
.accordionOm:after { 
 
    content: ""; 
 
    position: absolute; 
 
    background: #333; 
 
    display: inline-block; 
 
} 
 
.accordionOm:before { 
 
    width: 20px; 
 
    height: 2px; 
 
    left: 0; 
 
    top: 22px; 
 
} 
 
.accordionOm:after { 
 
    width: 2px; 
 
    height: 20px; 
 
    left: 9px; 
 
    top: 13px; 
 
    transition: transform .5s; 
 
    transform: rotate(0); 
 
} 
 
.accordionOm.opened:after { 
 
    transform: rotate(90deg); 
 
} 
 
.accordionOm + div { 
 
    border-left: 4px solid #999; 
 
    padding: 0 15px; 
 
    margin-left: 8px; 
 
    font: 13px 'Open Sans', Arial, Helvetica, sans-serif; 
 
    color: #666; 
 
} 
 
</style> 
 
<body> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h4 class="accordionOm opened">Accordian heading</h4> 
 
<div> 
 
    <p>Lorem ipsum dolor sit amet, adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa 
 
    quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus.</p> 
 
</div> 
 

 
<h4 class="accordionOm">Accordian heading</h4> 
 
<div> 
 
    <p>Lorem ipsum dolor sit amet, adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa 
 
    quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus.</p> 
 
</div> 
 

 
<h4 class="accordionOm">Accordian heading</h4> 
 
<div> 
 
    <p>Lorem ipsum dolor sit amet, adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa 
 
    quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus.</p> 
 
</div> 
 

 
<h4 class="accordionOm">Accordian heading</h4> 
 
<div> 
 
    <p>Lorem ipsum dolor sit amet, adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. Donec faucibus. Nunc iaculis suscipit dui. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. Praesent mattis, massa 
 
    quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus.</p> 
 
</div> 
 
</body> 
 
<script> 
 
$('.accordionOm').next().hide(); 
 
$(".opened").next().show(); 
 
$('.accordionOm').click(function() { 
 
    if ($(this).hasClass("opened") == true) { 
 
    $(this).next().slideUp("slow"); 
 
    $(this).removeClass('opened'); 
 
    } else { 
 
    $(".opened").next().slideUp("slow"); 
 
    $(".opened").removeClass("opened"); 
 
    $(this).addClass('opened'); 
 
    $(this).next().slideDown("slow"); 
 
    } 
 
}); 
 
</script> 
 
</html>