ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript を使用して滝効果を作成する
この記事の例では、参考のために、js で滝の流れの効果を実現するための具体的なコードを共有します。具体的な内容は次のとおりです
フロントエンドの内容:
JavaScript と 4 つの ps を使用して、写真を 4 つの ps に配置します
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Title</title> <style> .container { width: 1000px; margin: 0 auto; background-color: lightgray; } .item { width: 24%; margin-right: 10px; float: left; } .item img{ width: 100%; } </style> </head> <body> {#将内容放在container中#} <p> {# 将图片内容放入四个item中,形成四个item#} <p></p> <p></p> <p></p> <p></p> </p> <script src="/static/js/jquery-2.1.4.min.js"></script> <script> $(function() { {#网页加载时自动执行# } var obj = new ScrollImg(); obj.fetchImg(); obj.scrollEvent(); }) {#定义对象# } function ScrollImg() { this.nid = 0; {#取照片方法# } this.fetchImg = function() { var that = this $.ajax({ url: '/get_imgs.html', type: 'GET', {#传输数据,已经取了多少照片,后台可以依据,继续取照片# } data: { 'nid': that.nid }, dataType: 'JSON', success: function(args) { if (args.status) { var img_list = args.data; $.each(img_list, function(index, obj) { var eqv = that.nid % 4; var tag = document.createElement('img') tag.src = '/' + obj.img_dir; console.log(eqv) $('.container').children().eq(eqv).append(tag) that.nid += 1; }) } } }) } {#监听滚动条,当滚到底部时,自动加载数据# } this.scrollEvent = function() { var that = this; $(window).scroll(function() { var srollTop = $(window).scrollTop(); var winHeight = $(window).height(); var docHeight = $(document).height(); if (srollTop + winHeight >= docHeight - 2) { that.fetchImg(); } }) } } </script> </body> </html>
。バックエンドコンテンツ:
DjangoのFBV、関数ビューに基づいて、データを読み取り、ajaxリクエストを処理します
def get_imgs(request):
#取得された写真の数を取得します
index = request.GET.get('nid')
#QuerySetコレクションオブジェクトを取得し、インデックス後の10個のキーデータを取得
imgs_list = models.Student.objects.values('id','img_dir','name')[index:index+10]imgs_list = list(imgs_list)
#ステータスとデータ内容を転送
ret = { 'status':True, 'data':imgs_list}return JsonResponse(ret)
以上がJavaScript を使用して滝効果を作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。