鍍金池/ 問答/ HTML問答
舊城人 回答

1.復(fù)制主要監(jiān)聽是剪切板事件,剪切板事件的使用可以參考下復(fù)制文本加上版權(quán)信息功能實(shí)現(xiàn)這篇文章
2.全選你可以使用document.createRange()創(chuàng)建選區(qū),getSelection()即是選區(qū)中的內(nèi)容。

陌南塵 回答
經(jīng)過我?guī)讉€(gè)小時(shí)的嘗試,使用自定義指令實(shí)現(xiàn)了該需求,沒有使用任何原生的DOM操作和插件,直接使用了vue提供的方法實(shí)現(xiàn)的。

具體代碼(直接復(fù)制粘貼便可看到效果,重要地方都做了注釋):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<div id="app">
    <ul>
      <li v-for="(item,index) in inputs">
        <input type="text" v-model="item.val" v-focus="focusIndex === index"  @keyup.enter="nextFocus(index)">
      </li>
    </ul>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script>
  // 注冊一個(gè)全局自定義指令 `v-focus`
  Vue.directive('focus', {
    // 當(dāng)被綁定的元素插入到 DOM 中時(shí)……
    inserted: function (el,obj) {  //這是需要頁面剛加載就能進(jìn)行聚焦操作使用的鉤子函數(shù),可以省略的,視具體需求而定
      //console.log(obj);
      if(obj.value) { //對值進(jìn)行判斷
        // 聚焦元素
        el.focus()        
      }
    },
    // 當(dāng)指令所在組件的 VNode 及其子 VNode 全部更新后調(diào)用
    componentUpdated: function(el,obj) {  //這是每當(dāng)綁定的值發(fā)生改變時(shí)觸發(fā)的鉤子函數(shù)
      //console.log(obj);  //可以打印看一下
      if(obj.value) {
        el.focus()        
      }
    }
  })
  new Vue({
      el: "#app",
      data() {
        return {
          focusIndex: 0, //用來存放下一個(gè)應(yīng)該聚焦的index值
          inputs: [{
            val: 1
          },{
            val: 2
          },{
            val: 3
          },{
            val: 4
          }]
        }
      },
      methods: {
        nextFocus(index) {
          return this.focusIndex = index + 1;
        }
      }
  });
</script>
</body>
</html>

希望我的回答對你有所幫助!^_^^_^ 不足之處,歡迎批評指正!
鐧簞噯 回答

你選到這個(gè)底層元素chrome里能抓到他的class名,在代碼里對ElmentUI的樣式進(jìn)行覆蓋

毀與悔 回答

什么樣的一條線呢?傾斜多少?

囍槑 回答

你可以把用戶信息存在session或者cookie里,也可以放在跳轉(zhuǎn)鏈接里帶過去

枕頭人 回答

Meta 標(biāo)簽表示有關(guān)頁面的一些信息,可以查閱簡易說明詳細(xì)說明

老梗 回答
var ListTables = document.getElementsByClassName("listTable")[0];
var opinions = [];
var calls = [];
for(var i = 0, len = ListTables.rows.length; i < len; i++){

    if(i == 0){
        var name  =  ListTables.rows[i].cells[0].innerHTML.replace(" - 意見建議", "");
    } else{
        var opinion = ListTables.rows[i].cells[0].firstChild.innerHTML;
        opinions.push(opinion);
        var call = ListTables.rows[i].cells[0].lastChild.innerHTML;
        calls.push(call);
    }
}
var str = "";
for(var j = 0, len = opinions.length; j < len; j++){
    str += name + "    " + calls[j] + "    " + opinions[j] + "\n";
}
copy(str);

//自動跳轉(zhuǎn)
var next_page = location.href;
var next_page = next_page.split("=");
next_page[1] = parseInt(next_page[1]);
var num_add = next_page[1]+1;
var next_page_url = next_page[0] + "=" + num_add;
location.href = next_page_url;
未命名 回答

我還真實(shí)頭一次看到循環(huán)template的, 你想要重復(fù)生成tr 那你就循環(huán)tr唄你為什么要循環(huán)template 還有就是規(guī)范一點(diǎn)寫你的tabel標(biāo)簽?zāi)?/p>

替身 回答

如果你打算用nginx做代理的話,可以參考文章,nginx的配置簡單而且容易懂

紓惘 回答

不要重新調(diào)用初始化了,在你for循環(huán)push完后
that.meunScroll.finishPullUp();
that.meunScroll.refresh();

情皺 回答

函數(shù)在執(zhí)行前會預(yù)解析,var的變量會提到函數(shù)內(nèi)頂部

萌小萌 回答
var a = false;
function time(start,limit,fn){  
       var timer = setInterval(function(){
        var date = new Date().getTime();
        if((date-start.getTime())/1000>limit){
            clearInterval(timer);
           fn()         
        }else{
        }
       },1000);
}

time(new Date(),10,function(){
    a = true;
    console.log(a);
});
瘋子范 回答

效果JSFiddle

加了一層 slide-wrapper 把底下的指示器和 slide 卡片隔離開了,讓 slide-wrapper 來 overflow: hidden.

原因是卡片橫向排放,導(dǎo)致溢出,雖然使用了 overflow: hidden, 但是改變不了 .slide 的 scrollWidth 還是 3 倍的卡片寬度的事實(shí), position absolute 確實(shí)是不可能受同為 absolute 的兄弟元素的影響,但是由于 .slide 容器本身存在內(nèi)容溢出,其實(shí)應(yīng)該會出現(xiàn)滾動條的,只不過我們用 css 禁用了滾動條。a 鏈接的錨點(diǎn)定位元素,有一個(gè)功效是會把不在顯示區(qū)域的內(nèi)容通過拖動滾動條的方式 scroll 到可視區(qū)域。 盡管我們禁用了滾動條,但是這個(gè)滾動元素的功能還在,不信你去嘗試取一下 .slide DOM 的 scrollLeft 值打印出來看看, 或者去掉 overflow:hidden 看看點(diǎn)擊錨點(diǎn)滾動條是不是移動了。 所以,這就是底下的指示器跑到看不見的左邊去了的原因。

============== 更新 ================

關(guān)于 right -100% 和 right 100%

right 是指元素右邊距離定位父容器的右邊的距離,例如, right:0 表示右邊貼著定位父容器的右邊,right: 50% 表示右邊在定位父容器的正中間。

right: 100% 呢? 是指容器右邊貼著定位父容器的左邊(距離父容器的右邊剛好是父容器寬度的 100%)。 負(fù)數(shù)呢?負(fù)數(shù)就是正數(shù)相反的方向啊。

比較有意思的現(xiàn)象是,absolute 的元素超出右邊會拉伸定位父容器的 scrollWidth, 而往左邊超出并不會。

看示例: absolute 元素超出定位父容器邊界

實(shí)際你這個(gè)例子中,由于移走的卡片在進(jìn)行動畫時(shí)也會往右邊超出 relative 父容器的寬度,但是由于新出現(xiàn)的卡片在左邊,所以錨點(diǎn)定位不會動滾動條的位置(slide的offsetLeft), 而且動畫結(jié)束后,卡片立馬歸位到左邊不可見位置,因此能達(dá)到效果。

我給出的解決辦法是加一層 div 包裹,能達(dá)到效果的原因是把錨點(diǎn)定位元素移動 offsetLeft 的特性轉(zhuǎn)嫁到這層 div 身上,這樣外層的 .slide 就相安無事,指示器自然就仍可見嘍。

陌上花 回答

你可以把echart在index.html引入,這樣就是全局了

貓小柒 回答

https://github.com/huangshuwe...
這個(gè)里面可以編輯每一個(gè)cell,可以看一下

話寡 回答

clipboard.png

使用 npm install <github username>/<github project> 來安裝是正確的,只是你的 npm run dev是需要在 package.json 中配置script的

浪婳 回答

供參考,沒有實(shí)現(xiàn)字符串功能,反正也不推薦使用。

function setInterval2 (cb, delay, ...args) {
  // 記錄所有正在運(yùn)行的 interval 用于撤銷
  let pool = window[Symbol.for('IntervalPool')]
  if (!pool) {
    pool = {}
    window[Symbol.for('IntervalPool')] = pool
  }

  // interval 最低 10ms,雖然每 frame 至少得 16ms
  delay = delay >= 10 ? delay : 10
  // interval id
  let ticket = Date.now()
  // 每次 interval 開始時(shí)間
  let startTime = ticket
  pool[ticket] = true
  loop()
  return ticket

  function loop () {
    if (!pool[ticket]) { return }
    const now = Date.now()
    if (now - startTime >= delay) {
      startTime = now
      cb(...args)
    }
    requestAnimationFrame(loop)
  }
}

function clearInterval2 (ticket) {
  let pool = window[Symbol.for('IntervalPool')]
  if (pool && pool[ticket]) {
    delete pool[ticket]
  }
}
陌上花 回答
  1. 動態(tài)創(chuàng)建DOM element,然后替換內(nèi)容。如第一個(gè)回答。
  2. 直接修改innerHtml
    var lables = document.querySelectorAll('lable')
    labels.forEach(function (lable) {
      lable.innerHtml = '<div>' + lable.innerHtml + '</div>'
    })