在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ HTML5問答
維他命 回答

http://diokuz.github.io/baron/
網(wǎng)上應該有很多這種的取github上找找scroll bar
原理大概就是讓框框overflow:hidden自己做bar

北城荒 回答

minchunks這個配置項你配置不正確,這里也不是這么用的。你可以用chunks,指定你那些模塊用了data.js。

荒城 回答

addListener搜索一下 這個沒有找到

假灑脫 回答

沒太看懂/recommend/getNews和你定義的路由有什么關(guān)系
你的這個匹配不到newslist/song/getNewsList就走:id,Songditail
/getNewsList放到:id前面試試

舊酒館 回答

vue-router 會給你當前的router-link加上active這個className,你可以在li下使用router-link, 需要加上 linkActiveClass: 'active'

青裙 回答

Vue 使用是 Observer 模型

少年,你問到了 Vue 技術(shù)最牛的地方

新建data時候,所有的數(shù)據(jù)都被轉(zhuǎn)換成了observer,如圖:

clipboard.png

ObServer 會對變量的修改進行監(jiān)控,原理主要是:

Object.defineProperty(Vue.prototype, "a", {
    get: function () {
        return xxx;
    },
    set: function(v) {
        .... 這里是關(guān)鍵
    },
    enumerable: true,
    configurable: true
});

當然具體實現(xiàn)比這個復雜的多的多,因為還有DOM的綁定

對其變量的修改,會反饋到任何曾經(jīng)使用過過此變量的地方

比如 如下模型:

<div id="a">{}</div>
<script>
    let vm = new Vue({
        el: '#a',
            data () {
                return {
                    a: 'aaa',
                    c: [],
                };
            },
            computed: {
                b() {
                    return this.a + 'bbb';
                }
            }
        });
    console.log(vm.b); // 輸出 aaabbb
    vm.a = 'ccc';
    console.log(vm.b); // 輸出 cccbbb
    // 并且 div 也是 cccbbb
</script>

你在任意地方修改a, 不僅會影響到a,還會影響到b,這是因為Observer的聯(lián)動效果,

注意:如果不是因為Observer,而是傳統(tǒng)的JSb 在生成之后,值就固定了,永遠等于aaabbb,而無法達到修改a,也讓b也修改的效果。

所以, 你在任何地方修改它的變量都可以,哪怕是$.ajax({success: 這里}),

但是需要注意的是,Array、Object之類的值,不能直接全部修改

// 直接等于其它值,是不行的
vm.c = [1, 2];

這樣會丟到數(shù)組內(nèi)層的ObServer模型,下面的做法是可以的

//這樣是可以的,因為Vue重寫了數(shù)組的一些常見操作函數(shù),讓其支持Ob 
vm.c.push(3); 
//或者這樣
Vue.Set(vm.c, [a, b, c]);

當然,可能有人說,這b函數(shù)啊,取函數(shù),肯定會重新計算,但是DOM的綁定和渲染呢,那可沒有實時去調(diào)用函數(shù),如果是使用一個setTimeout實時去對比,那豈不是非常浪費性能(即使 Angular 在外部對變量的修改,都需要用$scope函數(shù)觸發(fā)的對比)
所以,只要修改aDOM那邊也是實時修改的。因為這就是Observer的功效,它會觸發(fā)所有使用本變量的地方,一起聯(lián)動

怣痛 回答

你好,還有兩個請求頭部的參數(shù),Content-Type和AccessToken怎么設(shè)置呢?

clipboard.png

舊螢火 回答

這個用css 動畫就可以解決

http://jsbin.com/lowaxebuve/1...

<!DOCTYPE html>
<html>
<head>
    <title>橫向滑動</title>
    <style type="text/css">
        * {
    padding: 0;
    margin: 0;
}
/* 清除浮動 */
.clearfix:after {
    content: "";
    display: table;
    clear: both;
}
html, body {
    height: 100%;
}
body {
    font-family: "Microsoft YaHei";
    background: #E1E1E1;
    font-weight: 300;
    font-size: 15px;
    color: #333;
    overflow: hidden;
}
.item{
  display: block;
  height: 35px;
  border: 1px solid #449D44;
  margin: 15px;
  line-height: 35px;
  text-align: center;
}
    </style>
</head>
<link  rel="stylesheet">
<script src="http://vuejs.org/js/vue.js"></script>
<body>
      <div id="app">
          <button @click="loaditems">load data</button>
          <div v-if="isloaded" class="item animated bounceInDown" v-for="item,index in items" :key="index" :style="{'animation-delay': index * 0.2 + 's'}">{{item.name}}</div>
        </div>
</body>
<script>
    new Vue({
      el:'#app',
      name:"test",
      data () {
        return {
          isloaded: false,
          items: []
        }
      },
      methods: {
        loaditems(){
          setTimeout(()=>{
            if(!this.isloaded){
              this.items = [
              {
                name: 'tom'
              },
              {
                name:'jerry'
              },
              {
                name:'lily'
              }
              ]
              this.isloaded = true
            } else {
              this.isloaded = false
              this.items = []
            }
            
          },300)
        }
      }
    });
</script>
</html>

寫了個例子給你

傲嬌范 回答

performace是瀏覽器自動寫在window對象上的

所以你只需要在頁面加載完成的時候,調(diào)用window.performace.getEntries(),就能得到一個數(shù)組,其中是所有請求的耗時情況,然后從中找到你的baidu請求對象,用下面的方法就能得到請求的時間情況

// 計算加載時間
function getEntryTiming (entry) {  
    var t = entry;
    var times = {};
 
    // 重定向的時間
    times.redirect = t.redirectEnd - t.redirectStart;
 
    // DNS 查詢時間
    times.lookupDomain = t.domainLookupEnd - t.domainLookupStart;
 
    // 內(nèi)容加載完成的時間
    times.request = t.responseEnd - t.requestStart;
 
    // TCP 建立連接完成握手的時間
    times.connect = t.connectEnd - t.connectStart;
 
    // 掛載 entry 返回
    times.name = entry.name;
    times.entryType = entry.entryType;
    times.initiatorType = entry.initiatorType;
    times.duration = entry.duration;
 
    return times;
}

具體看:http://www.alloyteam.com/2015...

熊出沒 回答

clipboard.png
將圖片中的改成下面的,就能夠格式化日期了。

<script th:inline="javascript" type="text/html" id="birth">

{{#
return layui.util.toDateString(d.birth.time, 'yyyy-MM-dd')
}}

</script>

墨染殤 回答

你可以試下menu的onSelect事件去觸發(fā)selectMenuDown,onSelect有你想要的數(shù)據(jù)

<Menu onSelect={(item, key, selectedKeys) => this.selectMenuDown(item, key, selectedKeys)}>
</Menu>
有點壞 回答

既然你的Form表單是動態(tài)變化的,所以你就不能使用TemplateDriven Form這種方式了。
所以你應該使用ReactiveForm。

大致的思想就是你需要有一個container component, 將需要綁定formControl的input抽出來變成childwidget, childwidget兩個輸入?yún)?shù)user和fmgrp。

 <div nz-row *ngFor="let user of authorityList; let i = index">
     <div nz-col [nzSpan]="4">
     </div>
     <div nz-col [nzSpan]="6" [nzValidateStatus]="'success'" nzHasFeedback>
         <childwidget [user]="user" [fmgrp]="defaultForm"></childwidget>
     </div>
 </div>

ngOnInit() { 
    this.defaultForm = new FormGroup({});
}

所以childwidget就變成這樣了

@Component({
    selector: 'childwidget',
    template: `
         <nz-input [formControl]="formCtrl">
         </nz-input>
    `
});

@Input() user: string;
@Input() fmgrp: FormGroup;
formCtrol: FormControl = new FormControl("");

ngOnInit() {
  if (this.fmgrp) {
     this.fmgrp.addControl(this.user, this.formControl);
  }
}

這樣無論你有多少個input,formGroup都能添加對應額formControl。
然后你操作這個defaultForm這個變量就可以了。

柚稚 回答

理論上可以試一試,但是這樣又讓用戶多了一步長按識別小程序二維碼的動作

未命名 回答

我想出兩種方案,

1、服務(wù)器端返回文件的時候,設(shè)置響應頭,

cache-control:no-cache

貌似是這樣,告訴瀏覽器不要緩存;

2、前端控制,核心是,如何區(qū)分代碼里修改 url 導致的刷新和用戶的刷新,代碼:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <script>
    let presentTime = (new Date()).getTime(),
        hrefWithoutSearch = location.protocol + '//' + location.host + location.pathname;

    if (localStorage.getItem('previousHref') === null) {
        localStorage.setItem('previousHref', hrefWithoutSearch + "?v=" + presentTime);
        localStorage.setItem('previousAccessTime', presentTime);
        location.href = hrefWithoutSearch + "?v=" + presentTime;
    } else {
        let interval = presentTime - parseInt(localStorage.getItem('previousAccessTime'), 10);
        if (interval > 2000) {
            localStorage.setItem('previousAccessTime', presentTime);
            location.href = hrefWithoutSearch + "?v=" + presentTime;
        }
    }
    </script>
</body>

</html>

原理:

  1. 代碼修改 url 的刷新,不能繼續(xù)刷新,否則陷入死循環(huán);
  2. 用戶的刷新要修改 url,返回新的頁面;

所以,onbeforeunload,onunload 都無法來區(qū)分,我想到的可以區(qū)分的就是,用戶的操作

  1. 鍵盤事件:F5,CTRL+R,地址欄回車,地址欄旁邊的刷新按鈕
  2. 鼠標事件: 右鍵刷新

我覺得比較困難,尤其是地址欄回車按鈕和地址欄旁的刷新;所以想了另外一個妥協(xié)的辦法:

頁面每次加載,都去 localStorage 里獲取上次加載的時間 previousAccessTime,和當前時間一減,得出 interval ,假設(shè)跟 3秒 比較;

  1. 3秒外,認為是用戶刷新的,在用戶刷新導致頁面重新加載原來的 url 時,更新 previousAccessTime ,修改 url,導致重新加載了一個新的頁面,這個時候的 時間-previousAccessTime 通常小于 3秒,所以適用下一條;
  2. 3秒內(nèi),就判斷是 代碼修改 url 導致的,所以不再去修改 url,避免了循環(huán);
  3. 如果網(wǎng)速慢,導致了修改 url 重新加載的時間超過了3秒,那會重復,導致循環(huán);
  4. 如果把時間改成譬如 10 秒,減少循環(huán)的可能,那么用戶在 10秒內(nèi)的刷新,就不會刷新。

后兩點是缺點,當然可以通過其他方式去優(yōu)化,比如,

  1. 調(diào)整這個 interval
  2. 把這個腳本放在最前面執(zhí)行,減小網(wǎng)速慢的影響;
溫衫 回答

你這種動畫最好用keyframes來處理,另外就是:active在移動端有問題的。建議你查一下相關(guān)的資料,了解一下。

薄荷糖 回答

不可能用不了的好吧

離人歸 回答

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0" />

喜歡你 回答

設(shè)計這種頁面交互,就像是在Photoshop里使用圖層一樣,通過點擊“開始吧”按鈕觸發(fā)CSS的屬性變換,從而使得Wizard steps這個層浮動出來(預設(shè)覆蓋整個頁面),具體CSS代碼可以直接參考airbnb的源代碼,比如wizard層呼出:

    height: 100% !important;
    width: 100% !important;
    position: fixed !important;
    z-index: 102 !important;
    top: 0px !important;
    left: 0px !important;
    animation-name: keyframe_18jn58a !important;
    animation-duration: 1200ms !important;
    animation-timing-function: ease !important;
    background: rgb(255, 255, 255) !important;
局外人 回答

學2+的最新版本,現(xiàn)在直接學angular6。

爛人 回答

[問題基本已解決]
圖片的四個白底的角并不是由于canvas的drawImage(img,...)造成的, 也不是因為image本身不透明(png格式, 四個角的確時透明的). 而是在畫圖前, 可能默認會填充一個矩形區(qū)域, 然后才能畫image.
于是, lz采用笨方法: 畫圖前將矩形區(qū)域的長寬設(shè)成很小, 至少小于待繪制image的寬高.
最后, 這樣果然可行.