jquery ajax分页写法

jquery ajax分页写法
我用的是laypage插件

前端代码

        function demo(curr) {
            $.getJSON('/home/index/getinfo', {
                page: curr || 1 //向服务端传的参数,此处只是演示
            }, function (res) {
                var html = '';
                var list = res.data.list;
                $.each(list, function (k, v) {
                    html += '<div';
                    if(k%2==0){
                        html += ' style="margin-left:0px;"';
                    }
                    html += ' class="perinfocontent" onclick="window.location.href=\'content.html?id='+v['id']+'\'">';
                    html += '<img src="'+v['fengmiantu']+'" alt="" class="pic">';
                    html += '<div class="infos">';
                    html += '<div class="title">'+v['title']+'</div>';
                    html += '<div class="tiyao">'+v['content']+'</div>';
                    html += '<div class="publishtime">2017 / 1 / 23</div>';
                    html += '</div>';
                    html += '</div>';
                });

                $('.infocontent').html(html);

                //显示分页
                laypage({
                    cont: $('#page3'), //容器。值支持id名、原生dom对象,jquery对象,
                    pages: res.data.pagecount, //总页数
                    skip: true, //是否开启跳页
                    skin: 'molv',
                    curr: curr || 1, //当前页
                    jump: function (obj, first) { //触发分页后的回调
                        if (!first) { //点击跳页触发函数自身,并传递当前页:obj.curr

                        demo(obj.curr);
                        }
                    }
                });

            });
        };
//运行
        demo();

PHP代码

    public function getinfo(){
        $page = intval($_GET['page']);
     
        if(empty($page)){
            $page=1;
        }
        $startpos=$page-1;
        //返回每页的数据
        $percount = 8;
        $VModel = new HuanShanVoteModel();
        $sql = 'select * from wz_content order by id desc limit '.$startpos*$percount.',' . $percount;

        $result = $VModel->query($sql);
        foreach ($result as $k => $v) {
            $result[$k]['content'] = substr(stripHTML(htmlspecialchars_decode($v['content'])), 0, 30) . '......';
            $result[$k]['time'] = date('Y / M / D', $v['time']);
        }

        //返回总页码数
        $VModel = new HuanShanVoteModel();
        $sql = 'select title,content from wz_content';
        $alllist = $VModel->query($sql);
        $count = count($alllist);
        $pagecount = ceil($count / $percount);

        echo json_encode(array('success'=>1,'msg'=>'查询成功','data' => array('pagecount' => $pagecount, 'list' => $result)));
        exit();
    }

jquery swipper插件的一些弊端

jquery swipper插件的一些弊端
touch触摸机制是swipper的

阻止click冒泡。拖动Swiper时阻止click事件。下面这个方法或许可以解决触摸机制的问题

<div class="swiper-slide" onclick="alert('你点了Swiper')">
<script language="javascript"> 
var mySwiper = new Swiper('.swiper-container',{
preventLinksPropagation : false,
})
</script>

2动画问题 swipper动画影响是全局的 每次操作会影响每个container ani 所以 动画只能用在1给地方是最稳定的

可以在适当的时候执行下

$('.ani').css('visibility', 'visible'); 

3 在苹果手机上 无限点击会闪屏 这种情况只能做弹出层 不要写在swiper里面了

ps:swiper3.x 只适用于移动端 pc端兼容性较差ie10以下估计不兼容) 建议用swiper2.x
Animate.css动画库也是

pinchzoom插件模拟微信客户端点击图片放大(支持触摸滑动放到缩小)

pinchzoom插件模拟微信客户端点击图片放大(支持触摸滑动放到缩小) 代码如下

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1, user-scalable=no">
    <title>模拟微信客户端点击图片  (支持触摸滑动放大缩小)</title>
    <script type="text/javascript" src="/js/jquery-1.11.3.min.js"></script>
    <style>
     .pinch-zoom,.pinch-zoom img{
    width: 100%;
    -webkit-user-drag: none;
    -moz-user-drag: none;
    -ms-user-drag: none;
    user-drag: none;
}
.pinch-zoom-container{
    height:1400px;
    display: none;
}
    </style>
</head>

<body>

<div class="kandatucontainer pinch-zoom">
    <img class="fangdac"  src="{$yuming}/images/fangdac.png" />
</div>

<script src="/js/pinchzoom.js"></script>
<script type="text/javascript">
    $(function () {
        $('.pinch-zoom').each(function () {
            new RTP.PinchZoom($(this), {});
        });



     //pinch-zoom-containe是最外面的容器 是自动生成的
    $('.fangdacbtn, .p18_wz1').on('click',function () {
        $('.fangdac').parents('.pinch-zoom-container').fadeIn();
      $("body").scrollTop(0)
    })

    $('.fangdac').parents('.pinch-zoom-container').on('click',function () {
        $(this).fadeOut();
    })
    })
</script>

</body>
</html>

这样就可以直接缩放图片了

html5 video播放完切换画面方案

video标签播放视频 移动端不能自动播放 必须点击后才能播放

html5 video播放完切换画面方案
方法一

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/jquery.min.1.8.3.js"></script>
</head>
<style>
    html,body{
        width:100%; height:100%;
    }

</style>
<body>

//播放只能全屏
<video id="video1" style="width:100%; height:100%;object-fit: fill;  display:none" src="http://mobile-show.cn/video/fromYou1.mp4"  webkit-playsinline=""></video>
<script>
      $(function () {
          $('body').bind('click',function () {
              $('#video1').css('display','block');
              $('#video1')[0].play();
          })
            //播放完跳转页面 才能彻底的切换画面
          $('#video1').bind('error ended', function(){
              window.location.href='http://www.baidu.com';
          })
      })
</script>










</body>
</html>

方法二 最靠谱的方法(全屏播放)

<video id="video1" style="overflow: hidden; width: 100%; width: 100%; display: none; " src="/solosea1/mp4/cai.mp4"
       webkit-playsinline="true"  class="video" height="100%" playsinline="true"
       x5-video-player-type="h5" x5-video-player-fullscreen="true"></video>

这个播放完不会弹出广告 播放完直接display:none 当然dom元素也能覆盖 就是不能加背景因为这个只能全屏播放 直接元素盖住他

切记不要加autoplay 加了下面事件会默认为播放处理的 其实他是不会自动播放的。。

demo如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/jquery.min.1.8.3.js"></script>
</head>
<style>
    html, body {
        width: 100%;
        height: 100%;
    }

</style>
<body style="background: #FFF">


<video id="video1" style="overflow: hidden; width: 100%; width: 100%; display: none; " src="/solosea1/mp4/cai.mp4"
       webkit-playsinline="true"  class="video" height="100%" playsinline="true"
       x5-video-player-type="h5" x5-video-player-fullscreen="true"></video>


<script>
    $(function () {

        getvideoprogress();

        $('body').bind('click', function () {
            $('#video1').css('display', 'block');
            $('#video1')[0].play();
        })

        var vid = document.getElementById("video1");
        vid.onended = function () {
            $('#video1').css('display', 'none');
            alert("视频已播放完成");
        };

    })

    function getvideoprogress() {
        setTimeout(function () {
            var vid = document.getElementById("video1");
            var currentTime=vid.currentTime.toFixed(1);
            if(currentTime>=1.2){
                //触发
                return false;
            }
            console.log(currentTime);
            getvideoprogress();
        }, 50);
    }
</script>


</body>
</html>

ps: onended=”jieshuvideo()”也可以判断有没有结束

第三种 这种适用于不是全屏播放有进度条的

  <video  src="{$yuming}/mp4/shipin.mp4"  controls="" x5-playsinline="" playsinline="" webkit-playsinline="" poster="" preload="auto"></video>

他这个可以直接display:none

第四种 最佳方法(可以全屏不全屏也没进度条 但是性能差的手机有卡顿 )

jquery JSMpeg.js 播放视频解决不用全屏也能播放(也支持自动播放哦)

ps:ios自动播放 直接加在wx.ready这个里面即可