Jquery实现详细与精简的切换(实现更多选项的功能)

上周学习了Javascript,只是学习了点皮毛而已。这周学习了Jquery.学习到了Jquery操作Dom节点。然后。。然后学习到了隐藏和显示标签。于是想尝试能不能写的出京东商城的那个商品筛选功能。

那个筛选功能如图:

由于刚学习。所以技术不精。这里只实现以下两个功能

  1. 更多选项。点击切换收起选项。
  2. 点击条目在上面显示已点击条目。

首先是Html代码:这里主要的代码是:

<div class="SubCategoryBox">
			<div class="mt"><span>笔记本</span><div></div></div>
			<div class="attr">
				<span>品牌:</span>
				<div class="ul_list">
					<ul id="pingpai">
						<li><a href="#">联想</a></li>
						<li><a href="#">索尼</a></li>
						<li><a href="#">三星</a></li>
						<li><a href="#">尼康</a></li>
						<li><a href="#">松下</a></li>
						<li><a href="#">卡西欧</a></li>
						<li><a href="#">富士</a></li>
						<li><a href="#">柯达</a></li>
						<li><a href="#">宾得</a></li>
						<li><a href="#">理光</a></li>
						<li><a href="#">奥林巴斯</a></li>
						<li><a href="#">明基</a></li>
						<li><a href="#">爱国者</a></li>
						<li><a href="#">AAA</a></li>
						<li><a href="#">明基</a></li>
						<li><a href="#">爱国者</a></li>
						<li><a href="#">BBBB</a></li>
						<li><a href="#">明基</a></li>
						<li><a href="#">爱国者</a></li>
						<li><a href="#">其它</a></li>
					</ul>
				</div>

			</div>
			<div class="attr">
				<span>价格:</span>
				<div class="ul_list">
					<ul id="price">
						<li><a href="#">0-1000</a></li>
						<li><a href="#">1001-2000</a></li>
						<li><a href="#">2001-3000</a></li>
						<li><a href="#">3000-~</a></li>
					</ul>
				</div>
			</div>
			<div class="attr">
				<span>尺寸:</span>
				<div class="ul_list">
					<ul id="chicun">
						<li><a href="#">14</a></li>
						<li><a href="#">15.6</a></li>
						<li><a href="#">21</a></li>
						<li><a href="#">29</a></li>
					</ul>
				</div>
			</div>
			<div class="attr">
				<span>触控:</span>
				<div class="ul_list">
					<ul id="chukong">
						<li><a href="#">普通触控</a></li>
						<li><a href="#">PC平板二合一</a></li>
						<li><a href="#">非触控</a></li>
					</ul>
				</div>
			</div>
			<div class="attr">
				<span>处理器:</span>
				<div class="ul_list">
					<ul id="cpu">
						<li><a href="#">Intel i3</a></li>
						<li><a href="#">Intel i5</a></li>
						<li><a href="#">Intel i7</a></li>
						<li><a href="#">AMD A6</a></li>
					</ul>
				</div>
			</div>
			<div class="attr">
				<span>厚度:</span>
				<div class="ul_list">
					<ul id="height">
						<li><a href="#">刀锋轻薄</a></li>
						<li><a href="#">便携轻薄</a></li>
						<li><a href="#">普通轻薄</a></li>
					</ul>
				</div>
			</div>
			<div class="attr">
				<span>显卡:</span>
				<div class="ul_list">
					<ul id="xiankao">
						<li><a href="#">入门级独显</a></li>
						<li><a href="#">性能级独显</a></li>
						<li><a href="#">玩家级独显</a></li>
					</ul>
				</div>
			</div>
			<div class="attr">
				<span>大家说:</span>
				<div class="ul_list">
					<ul id="allspeak">
						<li><a href="#">配置不错</a></li>
						<li><a href="#">散热很好</a></li>
						<li><a href="#">外观不错</a></li>
						<li><a href="#">屏幕大</a></li>
					</ul>
				</div>
			</div>
			<div class="showmore">
				<a href="javascript:void(0)"><span>更多选项(处理器,厚度,显卡,大家说)</span></a>	

			</div>

		</div>

CSS代码:

<style>
		 *{ margin:0; padding:0;}
		body {font-size:12px;text-align:center;}
		a { color:#04D; text-decoration:none;}
		a:hover { background-color:#ABCDEF; text-decoration:none;}
		.SubCategoryBox {width:800px;margin:0 auto; text-align:center;margin-top:40px;border:1px solid #ccc;}
		.SubCategoryBox .mt {float:left;width:780px;height:50px;text-align:left;background-color:#f7f7f7;padding:0 10px;line-height: 50px;border-bottom: 1px solid #ccc;}
		.SubCategoryBox .mt span {float:left;width:50px;height:20px;text-align:left;background-color:#f7f7f7;padding:0 10px;color: red;}
		.SubCategoryBox .mt div {float:right;width:700px;height:20px;text-align:left;background-color:#f7f7f7;}
		.SubCategoryBox .mt div b {background-color:#FCFCFC; border:1px solid #ccc;margin-right:10px;color:#FF6A6A;padding: 2px;cursor:pointer;}
		.s {padding: 2px;cursor:pointer;color:#912CEE;}
		.SubCategoryBox .attr{
			float:left;width:780px;text-align: left;background-color:#f7f7f7;padding:0 10px;color: red;border-bottom: 1px dashed #ccc;
		}
		.SubCategoryBox .attr span {float:left;text-align: right;width:50px;padding-top: 10px;}
		.SubCategoryBox .attr .ul_list {float:left;text-align: left;padding-bottom: 10px;padding-top: 10px;}
		.SubCategoryBox .attr .ul_list ul { list-style:none;}
		.SubCategoryBox .attr .ul_list ul li { display:block; float:left;text-align:center; width:120px; line-height:20px;}
		.showmore { clear:both; text-align:center;padding-top:10px;}
		.showmore a { display:block; width:250px; margin:0 auto; line-height:24px; border:1px solid #AAA;}
		.showmore a span { padding-left:15px; background:url(img/down.gif) no-repeat 0 0;}
		.onttop{float: right;padding-top: 5px;width:10px;height:10px;background-color: red;}
		.togglebackground{background-color: #ABCDEF;}
</style>

Css代码我就不去解释了。

这里主要是Jquery代码。可能我的方法不是很到位,希望各位见谅啊。有更好的可以盖楼。一定改进的。

$(document).ready(function() {
        //定义一个数组。用于存放每个条目的内容
	var arr = new Array();
	//初始化 刚开始就将第3个以后的隐藏起来。
	var $category = $("div.attr:gt(3)");
	$category.hide();
	//详细和精简的切换代码。
	$("div.showmore > a").click(function() {
		if (!$category.is(":visible")) {
			$category.show();
			$(".showmore a span").css("background", "url(./img/up.gif) no-repeat 0 0").text("收起");
		} else {
			$category.hide();
			$(".showmore a span").css("background", "url(./img/down.gif) no-repeat 0 0").text("更多选项(处理器,厚度,显卡,大家说)");
		}
	});
        //从这里开始就是响应点击条目的事件了。
	$("#pingpai > li >a").click(function() {
	        //先清空div
		$(".mt div").empty();
                arr[0] = $(this).text();
		print_r();
	});
	$("#price > li").click(function() {
		$(".mt div").empty();
		arr[1] = $(this).text();
		print_r();
	});
	$("#chicun > li").click(function() {
		$(".mt div").empty();
		arr[2] = $(this).text();
		print_r();
	});
	$("#chukong > li").click(function() {
		$(".mt div").empty();
		arr[3] = $(this).text();
		print_r();
	});
	$("#cpu > li").click(function() {
		$(".mt div").empty();
		arr[4] = $(this).text();
		print_r();
	});
	$("#height > li").click(function() {
		$(".mt div").empty();
		arr[5] = $(this).text();
		print_r();
	});
	$("#xiankao > li").click(function() {
		$(".mt div").empty();
		arr[6] = $(this).text();
		print_r();
	});
	$("#allspeak > li").click(function() {
		$(".mt div").empty();
		arr[7] = $(this).text();
		print_r();
	});

        //循环打印数组
	function print_r() {
		if (arr.length > 0) {
			for (var i = 0; i < arr.length; i++) {
				if (arr[i] != undefined) {
					var txt = $("<b name=‘" + i + "‘></b>").text(arr[i]);
					$(".mt div").append(txt).fadeIn();

				}
			}
		}
	}
	//jquery动态响应点击事件,响应点击之后删除条目
	$(document).on(‘click‘, ‘b‘, function() {
		arr[$(this).attr("name")] = undefined;
		$("b[name=‘" + $(this).attr("name") + "‘]").fadeOut(500);
	});

});

所有的核心代码都在这里了。欢迎交换想法。另外附上源码下载:

时间: 2024-11-04 04:16:51

Jquery实现详细与精简的切换(实现更多选项的功能)的相关文章

[转]如果我有jQuery背景,我应该如何切换到AngularJS的思维模式?

导言 stackoverflow上有一个人问了一个问题:如果我有jQuery背景,我应该如何切换到AngularJS的思维模式? 有一个回复非常经典,获得了两千多票. 为了让国内开发者也能领略到其中的核心思想,现把这个问题和答案翻译出来供大家参考. Question 假设我已经熟悉了如何使用jQuery来开发客户端应用,我现在打算使用AngularJS.请描述一下有那些思维模式方面的东西需要转变吗?下面是举出一些具体的问题,用来帮助你回答我的这个问题: 我应该以何种不同的方式来架构和设计客户端w

基于jQuery带标题的图片3D切换焦点图

今天给大家分享一款基于jQuery带标题的图片3D切换焦点图.这款焦点图适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 在线预览   源码下载 实现的代码. html代码: <div id="wowslider-container"> <div class="ws_images"> <ul> <li><a href="#"> &

10款jQuery+CSS3实现的多种图片切换焦点图

1.js实现的七屏百叶窗焦点图动态特效 可以实现可以同时显示很多找竖行百叶窗效果的缩略图,代码,鼠标悬浮在一张缩略图上时,该图片就在原位置变亮并慢慢展开,同时两边的缩略图就往两边缩小靠近,需要此种焦点图效果的朋友们可以前来下载使用. 在线演示 源码下载 2.jQuery+CSS3实现的多种图片切换方式简易焦点图 今天要来分享一款简易的jQuery+CSS3焦点图应用,这款焦点图应用的图片切换方式非常丰富,而且焦点图的切换按钮比较小,图片篇幅占据比较大,因此总体比较大气. 在线演示 源码下载 3.

jQuery Mobile 连接外部连接或切换动画

jQuery Mobile不同网页之间的跳转问题 jQuery Mobile,一个新的手机终端脚本开发库,从名字可以看出,它是基于jQuery:目前支持很多种手机设备,包括IOS/Android/BlackBerry/Windows Phone等,当然,支持程度不一,具体可以看:http://jquerymobile.com/gbs/ 由于这项目比较新,在我写这文章的时候,目前还是1.0 ALPHA4.1 RELEASED版,官网提供下载的只有jQuery Mobile的JS和CSS,相关文档目

JQuery实现广告效果(滚动切换)

JQuery实现广告效果(滚动切换) Html+css 效果如上图 代码: Java代码   <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script src="../jquery-2.1.4.min.js"></script> <

jQuery+html5实现的3D动态切换焦点轮播幻灯片

今天爱编程给网友们分享一款基于jQuery+html5实现的3D动态切换焦点轮播幻灯片,支持左右箭头和圆点按钮播放控制,支持多种不同的3D动态切换特效,自适应全屏显示,兼容360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗,不支持IE8及以下浏览器.横向全屏显示,效果图如下: 在线预览   源码下载 实现的代码. 该幻灯片基于jquery,所以要引用jquery库,另个还有两个js库分别是html5zoo.js和lovelygallery.js.这些js在实例下

jQuery蓝色修边tab标签切换

jQuery蓝色修边tab标签切换,jQuery,tab选项卡,标签切换,jQuery蓝色修边tab标签广告代码切换是一款非常简单实用tab选项卡切换效果,自己定义好相关的html标签即可,选项卡切换流畅,切换过程带有渐变效果素材免费下载. http://www.huiyi8.com/sc/6954.html

基于jquery鼠标点击图片翻开切换效果

基于jquery鼠标点击图片翻开切换效果是一款基于jQuery+CSS3实现的点击图片切换特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="container"> <img src="images/1.jpeg" alt="1" /> <img src="images/2.jpeg" alt="2" /> <img s

jQuery实现的鼠标滑过切换图片代码实例

jQuery实现的鼠标滑过切换图片代码实例:有时候网页需要这样的简单效果,那就是当鼠标滑过默认图片的时候,能够实现图片的切换,可能在实际应用中,往往没有这么简单,不过大家可以自行扩展一下,下面简单介绍一下次效果.html静态代码如下: <body> <img src="images/mayi.jpg" /> </body> jquery切换代码: $(document).ready(function(){ var newImage=new Image