[英]Jquery accordion customize click event
我正在將Jquery手風琴用於手風琴。 問題是,當用戶單擊加號或減號圖標時,我想顯示和隱藏內容面板,但在標題單擊時全部打開 ,並且在標題部分的chrome和safari中切換以及在內容部分工作的切換均不起作用,應該給予任何幫助。 碼-
<?php
$cs=Yii::app()->clientScript;
$cs->registerScriptFile(Yii::app()->baseUrl . '/js/jquery.min.js', CClientScript::POS_HEAD);
$cs->registerScriptFile('http://code.jquery.com/ui/1.10.3/jquery-ui.js', CClientScript::POS_HEAD);
$cs->registerScriptFile(Yii::app()->baseUrl . '/js/toggles.min.js', CClientScript::POS_HEAD);
$cs->registerCssFile('http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css');
$cs->registerCssFile(Yii::app()->baseUrl . '/css/themes/toggles-light.css');
$cs->registerCssFile(Yii::app()->baseUrl . '/css/toggles.css');
?>
CSS-
<style>
.ui-accordion-header {
background:none;
}
.ui-accordion-content {
background:none;
}
.iconOpen {
background:url('<?php echo Yii::app()->request->baseUrl; ?>/img/minus.png') no-repeat !important;
background-size:46px !important;
width:46px;
height:44px;
}
.iconClosed {
background:url('<?php echo Yii::app()->request->baseUrl; ?>/img/plus.png') no-repeat !important;
background-size:46px !important;
width:46px;
height:44px;
}
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
top: 25%;
left: 0.0em;
margin-top: -12px;
}
.ui-accordion .ui-accordion-icons {
padding-left: 4.2em;
}
.ui-accordion .ui-accordion-header {
margin-top: 0px;
height: 26px !important;
}
</style>
js-
<script>
$(function() {
var icons = {
header: "iconClosed", // custom icon class
activeHeader: "iconOpen" // custom icon class
};
$( "#main_accordion" ).accordion({
icons: icons,
collapsible: true,
heightStyle: "content"
});
$('.toggle').toggles({clicker:$('.clickme')});
});
</script>
HTML: -
<div id="main_accordion">
<h3>R
<div align="right" style=" margin-top: -16px;">
<div class="toggle-light">
<div class="toggle"></div>
</div>
</div>
</h3>
<div>
<p>interface</p>
</div>
<h3>F
<div align="right" style=" margin-top: -16px;">
<div class="toggle-light">
<div class="toggle"></div>
</div>
</div>
</h3>
<div>
<p> Feed Back
<div class="toggle-light">
<div class="toggle"></div>
</div>
</p>
</div>
</div>
要將手風琴的打開/關閉僅限制在圖標上,您將需要使用beforeActivate
選項並檢查單擊的起源。 如果不是來自圖標,則取消激活事件。
$( "#main_accordion" ).accordion({
icons: icons,
collapsible: true,
heightStyle: "content",
beforeActivate:function(event, ui ){
var fromIcon = $(event.originalEvent.target).is('.ui-accordion-header > .ui-icon');
return fromIcon;
}
});
演示位於 http://jsfiddle.net/5Qfwc/
更新 ( 用於在OP添加到jsfiddle的鏈接后進行切換 )
對於滑塊,容器div
上具有屬性align="right"
,這對div
元素而言不是有效屬性。
我只是將樣式更改為float:right
並刪除了頁邊距,現在它在所有瀏覽器上都可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.