<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://liuxinxiu.com:80/toggle_show_hide_example/</link>
<title><![CDATA[全部与精简切换显示jQuery实例教程]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[H5/JS/CSS]]></category>
<pubDate>Sat, 18 May 2013 15:42:07 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/toggle_show_hide_example/</guid> 
<description>
<![CDATA[ 
	<p><span style="color: rgb(62, 62, 62); font-family: 'Open Sans', georgia; line-height: 20px; text-indent: 2em; -webkit-text-size-adjust: none;">用户可以单击商品列表下方的&ldquo;显示全部品牌&rdquo;按钮来显示全部的品牌。单击&ldquo;显示全部品牌&rdquo;按钮同时，列表会将推荐的品牌的名字高亮显示，按钮里的文字也换成了&ldquo;精简显示品牌&rdquo;。再次单击&ldquo;精简显示品牌&rdquo;按钮，即可回到初始状态。</span></p><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em; color: rgb(62, 62, 62); font-family: 'Open Sans', georgia; line-height: 20px; -webkit-text-size-adjust: none;">实现这个示例，代码如下：</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>&hellip;&hellip;&nbsp;&nbsp;</span></span></li><li><span>&lt;script&gt;&nbsp;&nbsp;</span></li><li class="alt"><span>$(<span class="keyword">function</span><span>() &#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> $category = $(</span><span class="string">&quot;ul li:gt(4):not(:last)&quot;</span><span>); </span><span class="comment">//获取索引值大于4的品牌对象（除最后一条）</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;$category.hide(); <span class="comment">//隐藏上面获取到的jQuery对象</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span> $togglebtn = $(</span><span class="string">&quot;.more&gt;a&quot;</span><span>); </span><span class="comment">//获取&ldquo;显示全部品牌&rdquo;按钮</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;$togglebtn.click(<span class="keyword">function</span><span>() &#123; </span><span class="comment">//给按钮添加onclick事件</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span> ($category.is(</span><span class="string">&quot;:visible&quot;</span><span>)) &#123; </span><span class="comment">//如果元素显示</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$category.hide(); <span class="comment">//隐藏$category</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">&quot;.more a span&quot;</span><span>).css(</span><span class="string">&quot;background&quot;</span><span>, </span><span class="string">&quot;url(img/up_down.png) no-repeat 0 5px&quot;</span><span>).text(</span><span class="string">&quot;显示全部品牌&quot;</span><span>); </span><span class="comment">//改变背景、文字</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">&quot;ul li&quot;</span><span>).removeClass(</span><span class="string">&quot;promoted&quot;</span><span>);&nbsp;&nbsp;</span><span class="comment">//移除高亮样式</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125; <span class="keyword">else</span><span> &#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$category.show(); <span class="comment">//显示$category</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">&quot;.more a span&quot;</span><span>).css(</span><span class="string">&quot;background&quot;</span><span>, </span><span class="string">&quot;url(img/up_down.png) no-repeat 0 -18px&quot;</span><span>).text(</span><span class="string">&quot;精简显示品牌&quot;</span><span>) </span><span class="comment">//改变背景、文字</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">&quot;ul li&quot;</span><span>).filter(</span><span class="string">&quot;:contains('佳能'),:contains('三星'),:contains('松下')&quot;</span><span>).addClass(</span><span class="string">&quot;promoted&quot;</span><span>); </span><span class="comment">//增加高亮显示</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">false</span><span>; </span><span class="comment">//阻止链接跳转</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;)&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;)&nbsp;&nbsp;</span></li><li><span>&lt;/script&gt;&nbsp;&nbsp;</span></li><li class="alt"><span>&hellip;&hellip;&nbsp;&nbsp;</span></li><li><span>&lt;div&gt;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&lt;ul&gt;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;佳能&lt;/a&gt;&lt;i&gt;(3048)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;索尼&lt;/a&gt;&lt;i&gt;(204)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;三星&lt;/a&gt;&lt;i&gt;(1040)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;尼康&lt;/a&gt;&lt;i&gt;(390)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;松下&lt;/a&gt;&lt;i&gt;(700)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;明基&lt;/a&gt;&lt;i&gt;(800)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;三洋&lt;/a&gt;&lt;i&gt;(700)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;拍得丽&lt;/a&gt;&lt;i&gt;(800)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;尼柯&lt;/a&gt;&lt;i&gt;(700)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;爱国者&lt;/a&gt;&lt;i&gt;(800)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;&lt;a href=<span class="string">&quot;#&quot;</span><span>&gt;其它&lt;/a&gt;&lt;i&gt;(760)&lt;/i&gt;&lt;/li&gt;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&lt;/ul&gt;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&lt;div&gt;&lt;a href=<span class="string">&quot;a.html&quot;</span><span>&gt;&lt;span&gt;显示全部品牌&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&lt;/div&gt;&nbsp;&nbsp;</span></li><li><span>&hellip;&hellip;&nbsp;&nbsp;</span></li></ol></div><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em; color: rgb(62, 62, 62); font-family: 'Open Sans', georgia; line-height: 20px; -webkit-text-size-adjust: none;">&nbsp;</p><h2 style="margin: 0.3em 0px 0.3em 28px; padding: 0px; font-size: 22px; font-weight: normal; font-family: 'Century Gothic', 'Microsoft YaHei'; text-indent: 0px;">1.从第4条开始隐藏后面的品牌（最后一条&ldquo;其它&rdquo;除外）。</h2><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="keyword">var</span><span> $category = $(</span><span class="string">&quot;ul li:gt(4):not(:last)&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li><span>$category.hide(); <span class="comment">//隐藏上面获取到的jQuery对象</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p>&nbsp;</p><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">$(&ldquo;ul li:gt(4):not(:last)&rdquo;)的意思是获取ul元素下索引值大于5的li元素的集合元素，然后去掉集合元素中的最后一个元素。</p><h2 style="margin: 0.3em 0px 0.3em 28px; padding: 0px; font-size: 22px; font-weight: normal; font-family: 'Century Gothic', 'Microsoft YaHei'; text-indent: 0px;">2.当用户单击&ldquo;显示全部品牌&rdquo;按钮时，执行一下操作。</h2><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">首先获取到按钮，代码如下：</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="keyword">var</span><span> $gogglebtn = $(</span><span class="string">&quot;.more &gt; a&quot;</span><span>); </span><span class="comment">//获取&ldquo;显示全部品牌&rdquo;按钮</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;"><span style="text-indent: 27.993600845336914px;">然后给按钮添加事件，使用show()方法把隐藏的品牌列表显示出来，代码如下：</span></p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>$togglebtn.click(</span><span class="keyword">function</span><span>()&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;$category.show(); <span class="comment">//显示全部品牌</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span> </span><span class="keyword">false</span><span>;&nbsp;&nbsp;</span><span class="comment">//阻止链接跳转</span><span>&nbsp;&nbsp;</span></span></li><li><span>&#125;)&nbsp;&nbsp;</span></li></ol></div><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">&nbsp;</p><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">由于给超练级添加onclick 事件，因此需要使用&ldquo;return flash&rdquo;语句让浏览器认为用户没有单击该超链接，从而阻止该超链接跳转。</p><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">之后，需要将&ldquo;显示全部品牌&rdquo;按钮文本切换成&ldquo;精简显示品牌&rdquo;，代码如下：</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>$(</span><span class="string">&quot;.more a span&quot;</span><span>).css(</span><span class="string">&quot;background&quot;</span><span>, </span><span class="string">&quot;url(img/up_down.png) no-repeat 0 -18px&quot;</span><span>).text(</span><span class="string">&quot;精简显示品牌&quot;</span><span>) </span><span class="comment">//改变背景、文字</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">&nbsp;</p><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">这里完成了两部操作，即把按钮的背景图片换成向上的图片，同时也改变了按钮文本内容，将其替换成了&ldquo;精简显示品牌&rdquo;。</p><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">接下来需高亮推荐品牌，代码如下：</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>$(</span><span class="string">&quot;ul li&quot;</span><span>).filter(</span><span class="string">&quot;:contains('佳能'),:contains('三星'),:contains('松下')&quot;</span><span>).addClass(</span><span class="string">&quot;promoted&quot;</span><span>); </span></span></li><li class="alt"><span><span class="comment">//增加高亮显示</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">&nbsp;</p><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">使用filter()方法筛选出符合要求的品牌，然后为它们添加promoted样式。在这里推荐了3个品牌，即佳能、三星、松下。</p><h2 style="margin: 0.3em 0px 0.3em 28px; padding: 0px; font-size: 22px; font-weight: normal; font-family: 'Century Gothic', 'Microsoft YaHei'; text-indent: 0px;">3.当用户单击&ldquo;精简显示品牌&rdquo;按钮时，将执行以下操作。</h2><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;">由于用户单击的是同一个按钮，因此事件仍然是在刚才的按钮元素上。要将切换两种状态的效果在一个按钮上进行，可以通过判断元素的显示或者隐藏来达到目的，代码结构如下：</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="keyword">if</span><span>(元素显示)&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//元素隐藏</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;<span class="keyword">else</span><span>&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//元素显示</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;&nbsp;&nbsp;</span></li></ol></div><p style="margin-bottom: 0px; padding-top: 3px; padding-bottom: 3px; text-indent: 2em;"><span style="color: rgb(62, 62, 62); font-family: 'Open Sans', georgia; line-height: 20px; text-indent: 27.993600845336914px; -webkit-text-size-adjust: none;">在jQuery中，与show方法相反的是hide()方法，因此可以使用hide()方法将品牌隐藏起来，代码如下：</span></p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>$(</span><span class="string">&quot;.more a span&quot;</span><span>).css(</span><span class="string">&quot;background&quot;</span><span>, </span><span class="string">&quot;url(img/up_down.png) no-repeat 0 5px&quot;</span><span>).text(</span><span class="string">&quot;显示全部品牌&quot;</span><span>); </span><span class="comment">//改变背景、文字</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p><span style="color: rgb(62, 62, 62); font-family: 'Open Sans', georgia; line-height: 20px; text-indent: 27.993600845336914px; -webkit-text-size-adjust: none;">接下来需要去掉所有的品牌高亮显示状态，此时可以使用removeClass()方法来完成，代码如下：</span></p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>$(</span><span class="string">&quot;ul li&quot;</span><span>).removeClass(</span><span class="string">&quot;promoted&quot;</span><span>); </span><span class="comment">//去掉高亮样式</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p><span style="color: rgb(62, 62, 62); font-family: 'Open Sans', georgia; line-height: 20px; text-indent: 27.993600845336914px; -webkit-text-size-adjust: none;">它将去掉所有li元素上的&rdquo;promoted&rdquo;样式，即去掉了品牌的高亮状态。</span></p><br/>Tags - <a href="http://liuxinxiu.com:80/tags/jquery/" rel="tag">jquery</a> , <a href="http://liuxinxiu.com:80/tags/toggle/" rel="tag">toggle</a> , <a href="http://liuxinxiu.com:80/tags/show/" rel="tag">show</a> , <a href="http://liuxinxiu.com:80/tags/hide/" rel="tag">hide</a> , <a href="http://liuxinxiu.com:80/tags/%25E5%2585%25A8%25E9%2583%25A8%25E4%25B8%258E%25E7%25B2%25BE%25E7%25AE%2580%25E5%2588%2587%25E6%258D%25A2%25E6%2598%25BE%25E7%25A4%25BA/" rel="tag">全部与精简切换显示</a>
]]>
</description>
</item><item>
<link>http://liuxinxiu.com:80/toggle_show_hide_example/#blogcomment</link>
<title><![CDATA[[评论] 全部与精简切换显示jQuery实例教程]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://liuxinxiu.com:80/toggle_show_hide_example/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>