Django 整合 jQuery Waterfall 插件 实现瀑布流
Django实现瀑布流
需要Waterfall插件,jQuery Waterfall插件的使用这一节已经说过了
这里使用的时候可能会比较简短,跟上一篇文章有太多的不一样,不过这里使用的时候,调用的是html格式的数据。
Django Server端代码如下:
def ajax(request):
'''ajax请求数据'''
if request.user.is_authenticated():
user = request.user
else:
user = request.user
try:
items = Gifts.objects.filter(is_show = 0).order_by('-create_date')[10:20]
except:
items = []
return render_to_response('home/ajax.html',{'action':'home','items':items,'user':user},context_instance=RequestContext(request))
ajax.html代码如下:
{% load staticfiles %}
{% load dajaxice_templatetags %}
{% if items %}
{% for item in items %}
<div class="item" >
<a target='_blank' title='{{ item.title }}' href='{{ item.url_address }}'>
<img src="{{ MEDIA_URL }}{{ item.large_image }}" width="192" height="288">
</a>
<h3>{{ item.title|slice:"10" }}</h3>
<p>{{ item.description|slice:"100" }}</p>
<p>
<a class="btn btn-primary" target='_blank' href="{{ item.url_address }}">浏览</a>
<a class="btn have_feeling" href="#" onclick="Dajaxice.walkerfree.feeling(feeling_callback, {'id':'{{ item.id }}','type':'woman'});return false;">有感觉</a>
<a class="btn no_feeling" href="#" onclick="Dajaxice.walkerfree.no_feeling(no_feeling_callback,{'id':'{{ item.id }}','type':'woman'});return false;">没感觉</a>
<input type='hidden' value='woman' name='type'>
</p>
</div>
{% endfor %}
{% endif %}
因为是调用的html格式的数据,这里就直接的将数据展示出来了。
调用数据的页面的html代码如下:
<div id='container'>
{% if items %}
{% for item in items %}
<div class="item" >
<a target='_blank' title='{{ item.title }}' href='{{ item.url_address }}'>
<img src="{{ MEDIA_URL }}{{ item.large_image }}" width="192" height="288">
</a>
<h3>{{ item.title|slice:"10" }}</h3>
<p>{{ item.description|slice:"100" }}</p>
<p>
<a class="btn btn-primary" target='_blank' href="{{ item.url_address }}">浏览</a>
<a class="btn have_feeling" href="#" onclick="Dajaxice.walkerfree.feeling(feeling_callback, {'id':'{{ item.id }}','type':'woman'});return false;">有感觉</a>
<a class="btn no_feeling" href="#" onclick="Dajaxice.walkerfree.no_feeling(no_feeling_callback,{'id':'{{ item.id }}','type':'woman'});return false;">没感觉</a>
<input type='hidden' value='woman' name='type'>
</p>
</div>
{% endfor %}
{% endif %}
</div>
调用的script如下:
<script type='text/javascript' src="/static/js/jquery-1.8.3.min.js"></script>
<script type='text/javascript' src="/static/waterfall/js/libs/handlebars/handlebars.js"></script>
<script type='text/javascript' src="/static/waterfall/js/waterfall.min.js"></script>
瀑布流的实现部分如下:
$(function(){
$('#container').waterfall({
itemCls: 'item',
colWidth: 210,
gutterWidth: 15,
gutterHeight: 15,
checkImagesLoaded: false,
dataType: 'html',
path: function(page) {
return '/ajax/?page=' + page;
}
});
$('.container-block').css({'visibility':'visible'})
});
ok,实现过程阐述完毕,下面想看实现效果的请看这里漫步者Feeling
版权声明
由 davidzhang创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/416
版权声明
由 davidzhang创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 Gowhich博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/416