我的页面上有一些面板。我还有一个菜单,应该动态突出显示它的相应面板。
它目前正在使用硬编码按钮突出显示单个定义的面板,但这并不是我想要的。
我想要它,所以突出显示的面板是从菜单中选择的面板。它也必须淡入原始背景。
我尝试了 jqueryUI'sfadeOut
和removeClass
许多其他方法都没有成功。
要记住的事情:
- 面板以背景 (css) 渐变开始。
我想使用菜单选择来关注特定面板(突出显示它)。我想通过以下方式实现这一目标:
a)应用一个用新的彩色渐变(css)替换背景的类
b) 使用 jqueryUI 的内置
effect(highlight)
函数。但我认为这不会很好地恢复到原始背景渐变。突出显示应在菜单项选择时立即发生,然后在 3-5 秒内慢慢淡出- 返回原始背景渐变。
看起来我有一个不错的开始,但我无法按照我希望的方式完成这项工作。
任何帮助表示赞赏。
JSFIDDLE:http: //jsfiddle.net/tedgrafx/FKtLJ/1/
HTML:
<a href="#" id="button" class="ui-state-default ui-corner-all">Highlight Panel</a>
<ul>
<li>Title
<ul>
<li onclick=" FocusPanel('panelOne')">One</li>
<li onclick=" FocusPanel('panelTwo')">Two</li>
<li onclick=" FocusPanel('panelThree')">Three</li>
<li onclick=" FocusPanel('panelFour')">Four</li>
<li onclick=" FocusPanel('panelFive')">Five</li>
</ul>
</li>
</ul>
<div class="container">
<div id="panelOne" class="ui-widget-content ui-corner-all">
<h3 class="ui-widget-header ui-corner-all">One</h3>
<p>
Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi.
</p>
</div>
<div id="panelTwo" class="ui-widget-content ui-corner-all">
<h3 class="ui-widget-header ui-corner-all">Two</h3>
<p>
Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi.
</p>
</div>
<div id="panelThree" class="ui-widget-content ui-corner-all">
<h3 class="ui-widget-header ui-corner-all">Three</h3>
<p>
Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi.
</p>
</div>
<div id="panelFour" class="ui-widget-content ui-corner-all">
<h3 class="ui-widget-header ui-corner-all">Four</h3>
<p>
Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi.
</p>
</div>
<div id="panelFive" class="ui-widget-content ui-corner-all">
<h3 class="ui-widget-header ui-corner-all">Five</h3>
<p>
Etiam libero neque, luctus a, eleifend nec, semper at, lorem. Sed pede. Nulla lorem metus, adipiscing ut, luctus sed, hendrerit vitae, mi.
</p>
</div>
</div>
Javascript:
$(function FocusPanel(panelName) {
// var panel = $( "#" + panelName );
// $( panel ).effect( "highlight", 3000 );
function runEffect() {
// run the effect
$( "#panelFour" ).effect( "highlight", 3000 );
// $( panel ).addClass( "highlightPanel" );
};
// set effect from hard-coded button
$( "#button" ).click(function() {
runEffect();
return false;
});
});
CSS:
.container
{ width: 100%; }
.ui-widget-content
{ background:linear-gradient(to bottom, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%); float:left; width:40%; height: auto; margin:0 10px 10px 0; padding: 0.4em; }
.ui-widget-header
{ margin: 0; padding: 0.4em; text-align: center; }
.highlightPanel
{background:#ffff00;}