HTML& JS逻辑......
点击li
标签,如果li
ID& div class="content"
id匹配..过滤div
内容并显示。这很好。
现在要求是..点击li
标签后,上面的过滤器必须发生..还必须获得li
a
- href
值并添加浏览器窗口网址路径,如" http://www.example.com/test1.html#!id1"什么时候" ele1"点击。
当有人复制此网址" http://www.example.com/test1.html#!id1"并粘贴在浏览器窗口中。它必须根据ID值加载过滤内容。
先谢谢你的帮助!!很抱歉给你带来麻烦!!
HTML:
test1.html
<ul>
<li class="slist selected" id="ele1"><a href="#!id1">Element 1</a></li>
<li class="slist" id="ele2"><a href="#!id2">Element 2</a></li>
</ul>
<div class="cwrapper">
<div class="contentEle">
<div class="content ele1">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ve...
</div>
<div class="content ele2">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ve...
</div>
</div>
</div>
JS:
var $sListEle = $('.slist').click(function(e){
e.preventDefault();
var $ele = $('.' + this.id).fadeIn(800);
$('.cwrapper .contentEle > div.content').not($ele).hide();
$sListEle.removeClass('selected');
$(this).addClass('selected');
});
var $els = $('.contentEle div.content').hide(),
$curr = $();
$('.slist').on('click', function () {
$('.slist.selected').not(this).removeClass('selected');
$(this).addClass('selected');
$curr = $els.filter('.' + this.id).hide();
$curr.slice(0, 3).show();
$els.not($curr).hide();
}).filter('.selected').click();