美食项目bug总结

使用技术:zpto

对于动态数据继续.属性,必须先判断他自身是否存在

<div class="etImgs">
  <% if(items[i].image && items[i].image.length>0){ %>
 		<% for(var j=0;j<items[i].image.length;j++){ %>
 		 <img class="etImg" src="<%=items[i].image[j]%>" 	"this.'';src='./img/food.png'">
  		<% } %>
  <% } %>
</div>

使用onerror方法 如果1图片加载失败,替换为2图片

 <img src="1.png"  "this.'';src='2.png'" />

页面有横向滚动条

<meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1,maximum-scale=1,user-scalable=no">

模拟点击事件,要放在点击事件的后边

获取id是foodname的第一个子元素
$('#foodname').children().eq(0).click();

模板动态渲染的页面元素,必须在渲染之后才能获取到

success: function(res) {
            console.log(res.data);
            let data = res.data;
            var coupon = template('tem_coupon', data.coupon);
            $('.discount_coupon').html(coupon);

            // bug:模板动态渲染的页面元素,必须在渲染之后才能获取到
            // 优惠券说明,点击收起展开切换
            $('#up').on('click', function() {
                console.log(111111111);
                if ($(this).text().trim() == '收起') {
                    $('.limit_con').height('2rem')
                    $(this).text('展开')
                } else {
                    $('.limit_con').height('5.2rem')
                    $(this).text('收起')
                }
            })

decodeURIComponent可解决url中中文参数乱码问题

var url = decodeURIComponent(location.search); //获取url中"?"符后的字串

封装获取url地址中参数的方法

function GetRequest() {
        // bug:decodeURIComponent可解决url中中文参数乱码问题
        var url = decodeURIComponent(location.search); //获取url中"?"符后的字串
        var theRequest = new Object();
        if (url.indexOf("?") != -1) {
            var str = url.substr(1);
            strs = str.split("&");
            for (var i = 0; i < strs.length; i++) {
                // bug:decodeURIComponent可解决url中中文参数乱码问题
                theRequest[strs[i].split("=")[0]] = strs[i].split("=")[1];
            }
        }
        return theRequest;
    }
    var Request = new Object();
    let query = GetRequest();
    console.log(query);

移动端适配

<head>
    <meta charset="UTF-8">
    <!-- bug:不设置会有横向滚动条 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1,maximum-scale=1,user-scalable=no">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>套餐详情</title>
    <link rel="stylesheet" type="text/css" href="css/common.css" />
    <link rel="stylesheet" type="text/css" href="css/foodDetail.css" />
    <link rel="stylesheet" href="./css/mui.min.css">
    
    //  rem适配
    <script>
        var bw = (document.documentElement.clientWidth / 7.5) + "px";
        var htmlTag = document.getElementsByTagName("html")[0];
        htmlTag.style.fontSize = bw;
    </script>
    
</head>

mui 左右滑动

引入mui的css和js文件

<link rel="stylesheet" href="./css/mui.min.css">

js文件放在body的最底部
<script src="./js/mui.min.js"></script>

html

<div class="mui-scroll-wrapper">
                <div class="mui-scroll" id="foodname">
                    <script type="text/template" id="tem_name">
                        <% for(var i=0;i<items.length;i++){ %>
                            <!--这里放置真实显示的DOM内容-->
                            <span class="mui-control-item" data-id="<%= items[i].product_id%>"> 
                                <%= items[i].product_name%>
                            </span>
                            <% } %>
                    </script>
                </div>
            </div>

js部分

// 套餐详情mui滑动
    mui('.mui-scroll-wrapper').scroll({
        deceleration: 0.0005, //flick 减速系数,系数越大,滚动速度越慢,滚动距离越小,默认值0.0006
        scrollY: false, //是否竖向滚动
        scrollX: true, //是否横向滚动
        startX: 0, //初始化时滚动至x
        startY: 0, //初始化时滚动至y
        indicators: false, //是否显示滚动条
        bounce: true //是否启用回弹
    });



//  动态控制套餐列表的宽度:在页面渲染成功之后success中
            if (res.data.length > 1) {
                $('.mui-scroll').width($('.mui-control-item').width() * res.data.length)
            } else {
                $('.mui-scroll').width($('.mui-control-item').width() * 1.5)
            }
            
            // console.log($('.mui-scroll').width())

猜你喜欢

转载自blog.csdn.net/weixin_43848576/article/details/87893130