【发布时间】:2013-10-09 10:56:13
【问题描述】:
我将Jquery accordion 用于手风琴。问题是,当用户单击加号或减号图标时,我想显示和隐藏内容面板,但它在标题单击时完全打开,而且 toggles 在标题部分中的 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>
【问题讨论】:
-
检查一下,也许你错过了什么。或者还有一些其他的 jquery 函数也与你的这个手风琴 jquery 冲突。如果是这样,那么使用 noConflict()
-
@wikijames 一切正常,它可以在 ie 和 Firefox 上运行,而且 firebug 也没有 js 错误。
-
这意味着现在,没问题:)。太好了
-
@wikijames 与 chrome 和 safari 的问题,并且还限制了仅图标而不是所有标题部分的点击事件。
-
请发布一个有效的 jsfiddle
标签: javascript jquery html css jquery-ui