jq图片筛选

html

<div id="tpl-contents">
<div class="tpl-inner-wrap">

<div id="sec-list">
<h1 class="sec-title">List filter</h1>

<ul class="filter">
<!--<li><a href="" class="is-active">all</a></li>
<li><a href="">cate01</a></li>
<li><a href="">cate02</a></li>
<li><a href="">cate03</a></li>-->
</ul>
<ul class="list">

</ul><!-- /list -->
</div><!-- /sec-list -->

<div class="text-wrap">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam mattis dolor id diam mollis, vitae pretium nunc scelerisque. Suspendisse ultricies purus ante, vitae dapibus tortor maximus non. Morbi ut odio gravida, efficitur erat eget, pretium purus. Fusce ut libero ac libero sodales condimentum vel a nisl. Sed suscipit enim non nisi semper, imperdiet volutpat ligula bibendum. Vestibulum vitae dictum lorem. Curabitur sed mi nulla. Maecenas diam metus, lacinia id gravida eget, congue sit amet mi. Phasellus vitae odio quis augue elementum tincidunt at quis sapien. Duis vitae metus iaculis, ullamcorper nibh sed, euismod diam. Fusce non nunc massa.</p>

<p>Mauris eget accumsan ipsum. Etiam quis porttitor arcu. Vestibulum ornare mi cursus dui vestibulum pellentesque. Maecenas scelerisque nunc eget sollicitudin aliquet. Suspendisse tempor metus sit amet ipsum viverra, id malesuada leo feugiat. Etiam dictum neque a elementum accumsan. In hac habitasse platea dictumst. Curabitur id tellus lectus. Pellentesque nulla nisl, fringilla sit amet lobortis sed, lobortis nec arcu. Morbi non urna ullamcorper, tincidunt enim ut, convallis tellus. Etiam consectetur id leo vitae ultrices. Quisque et nibh ut lectus vehicula porttitor. Nam malesuada odio nisl, ut porttitor tortor interdum in.</p>
</div>

</div>
</div><!-- /tpl-contents -->

js

$(function() {
var Olist = $(‘#sec-list‘);
var Ofilter = $(‘#sec-list‘).find(‘.filter‘);
var Olist = $(‘#sec-list‘).find(‘.list‘);
var Acate = Olist.find(‘.cate‘);
var listData = []
//获取json数据
$.ajax({
type: ‘GET‘,
url: ‘json/cate.json‘,
dataType: ‘json‘,
success: function(data) {
listData = data;
htmlData(data);
initFilter();
}

});

//点击按钮触发事件 核心内容
$(‘.filter‘).on(‘click‘, "li", function() {
var switct = $(this).text().trim();
console.log(switct);
var newList = []

for(var i = 0; i < listData.length; i++) {
for(var j = 0; j < listData[i].cate.length; j++) {
if(listData[i].cate[j] == switct) {
newList.push(listData[i])
}
}
}
if(switct == "all") {
htmlData(listData);
} else {
htmlData(newList)
}

})

function initFilter() {
var cateList = [];
var Call = ‘<li><a href="#" class="is-active">all</a></li>‘; //all按钮
var tempList = [];
for(var i = 0; i < listData.length; i++) {
var Cate = ‘‘;

for(var j = 0; j < listData[i].cate.length; j++) {
if(tempList.indexOf(listData[i].cate[j]) == -1) {

tempList.push(listData[i].cate[j]);
cateList.push(‘<li><a href="#">‘ + listData[i].cate[j] + ‘</a></li>‘);
console.log(listData[i].cate[j]);
}

}

}
Ofilter.html(Call + cateList);
}

function htmlData(data) {
if(data.length) {
var arr = [];
var jsons = {};
var Cfilter = ‘‘;
var Call = ‘‘;

var Clist = ‘‘;

//主内容从json中获取

for(var i = 0; i < data.length; i++) {
var Cate = ‘‘;

for(var j = 0; j < data[i].cate.length; j++) {

Cate += ‘<li>‘ + data[i].cate[j] + ‘</li>‘;
}

Clist += ‘<li class="item">‘ +
‘<p class="photo"><img src="img/‘ + data[i].thumb + ‘" ></p>‘ +
‘<p class = "title" >‘ + data[i].title + ‘ </p>‘ +
‘<p class = "description" >‘ + data[i].description + ‘ </p>‘ +
‘<ul class="cate">‘ + Cate + ‘</ul>‘ +
‘</li>‘
Olist.html(Clist);
}

}
}

});

时间: 2024-07-29 13:14:42

jq图片筛选的相关文章

JQ图片跟着鼠标走

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head> <title></title> <scr

自己做的jq图片轮播

新手开始学习js写的一个经常能用到的图片轮播效果 html代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>图片轮播</title> <link rel="stylesheet" href="css/font-awesome/css/font-awesome.min.css"> <

JQ——图片弹出效果(定时弹出图片)、toggle

1.使用 hide() 和 show() 方法来隐藏和显示 HTML 元素(这里是img) <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>定时弹出图片——图片弹出的效果</title> <script type="text/javascript" src="../js/jquery-1.8.3.js&quo

JQ 图片轮播并封装

利用面向对象自己动手写了一个封装好的jquery轮播对象,可满足一般需求,需要使用时只需调用此对象的轮播方法即可. demo:https://github.com/zsqosos/shopweb 具体代码如下: HTML结构: 1 <div class="banner" id="J_bg_ban"> 2 <ul> 3 <li><a href="#"><img src="banner_

jq图片点击居中放大原始图片兼容ie

1 /* 2 *鍥剧墖澶у浘鏄剧ず 3 */ 4 function imgshow(){ 5 content_div:"";//内容 6 bg_div:"";//背景变暗 7 img_div:"";//图片 8 prev_div:"";//上一页 9 next_div:"";//下一页 10 11 12 $(content_div).find("img").click(function(

jq 图片裁剪

1.html <div class="jcropbox" style="display: none"> <img src="" alt="" id="jcropImg" style="display: none"/> <div class="right-img-box"> <span class="title-tex

jq图片切换特效

首先引入js,内容如下: 1 (function($){$.fn.slides=function(option){option=$.extend({},$.fn.slides.option,option);return this.each(function(){$('.'+option.container,$(this)).children().wrapAll('<div class="slides_control"/>');var elem=$(this),control

JQ图片轮播

<script src="{staticurl action="jquery.js" type="js"}"></script> <style type="test/css"> div.LunBo {position: relative;list-style-type: none;height: 170px;width: 490px;}div.LunBo ul{list-style:none

JQ图片文件上传之前预览功能

1.先准备一个div onchange触发事件 <input  type="file" onchange="preview(this)" ></span> <div id="preview"></div> 2.写JS代码 //上传图片之前预览图片function preview(file){ if (file.files && file.files[0]){ var reader =