十五分鐘用JavaScript基礎(chǔ)寫一個(gè)圖片輪播效果 + 思路詳解

輪播圖的基本樣式

前言

這次也是一個(gè)適合JavaScript初學(xué)者的小練手倦春,用JavaScript的基本知識(shí)去寫一個(gè)輪播圖蜒茄,其實(shí)輪播圖有很多方法去實(shí)現(xiàn)梅垄,像用一些框架厂捞,Bootstrap之類的输玷,或者CSS3都可以輕松做出漂亮的輪播圖,這次去用JavaScript實(shí)現(xiàn)靡馁,主要是為了鍛煉自己使用Js的能力欲鹏,代碼非常簡(jiǎn)單,我會(huì)先放出HTML和CSS部分臭墨,最后詳細(xì)講解Js部分赔嚎,還是那句話,重要的是思路胧弛,希望Js的初學(xué)者可以跟著我動(dòng)手敲一敲尤误,絕對(duì)對(duì)自己的能力有提升!完整代碼也放在GitHub上了结缚,鏈接在這里:點(diǎn)我损晤。

效果演示:卡頓是因?yàn)镚IF圖片壓縮了,損失了幀數(shù)

HTML代碼部分

 <div class="main_div">
   <div class="arrows">
         <span title="1" class="arrow"><</span>
         <span title="0" class="arrow" style="float: right">></span>
   </div>

   <ul class="ul_img">
         <li class="li_img">![](images/攝圖網(wǎng)-水珠在竹葉上.jpg)</li>
         <li class="li_img">![](images/攝圖網(wǎng)-在海邊的人.jpg)</li>
         <li class="li_img">![](images/攝圖網(wǎng)-清涼的荷葉.jpg)</li>
         <li class="li_img">![](images/攝圖網(wǎng)-綿延不絕的山嶺.jpg)</li>
   </ul>
</div>

<div style="margin-left: 600px">
         <div class="div_btn"></div>
         <div class="div_btn"></div>
         <div class="div_btn"></div>
         <div class="div_btn"></div>
</div>

整個(gè)HTML非常簡(jiǎn)單红竭,分三部分尤勋,第一部分就是四張圖片,第二部分就是左右方向鍵茵宪,第三部分就是底部的四個(gè)圓角矩形最冰,沒(méi)什么說(shuō)的,為了簡(jiǎn)化代碼稀火,都是最簡(jiǎn)單的锌奴。

CSS代碼部分

<style>
        img {
            width: 100%;
        }

        .li_img {
            width: 800px;
            float: left;
            list-style: none;
        }

        .ul_img {
            width: 6000px;
            padding: 0px;
            margin: 0px;
            transition: all 2s;
        }

        .main_div {
            width: 800px;
            overflow: hidden;
            position: relative;
            top: 100px;
            left: 350px;
        }

        .arrows {
            z-index: 9999;
            position: absolute;
            padding-top: 230px;
            width: 800px;
        }

        .arrows span {
            font-size: 3em;
            color: seashell;
        }

        .arrows span:hover {
            /*變小手*/
            cursor: pointer;
            background-color: rgba(192, 192, 192, 0.29);
        }

        .div_btn {
            float: left;
            border-radius: 100px;
            background-color: aquamarine;
            width: 60px;
            height: 10px;
            margin-left: 10px;
            margin-top: 130px;
        }

        .div_btn:hover {
            background-color: aqua;

        }
    </style>

CSS部分也是盡量簡(jiǎn)潔,沒(méi)有設(shè)置太花哨的樣式憾股,隨意設(shè)置了一下鹿蜀,各位可以自己發(fā)揮,主要為了寫JavaScript……唯一要注意的就是我為.li_img設(shè)置了一個(gè)transition服球。
由于是用固定像素設(shè)置的寬高茴恰,所以不同瀏覽器可能會(huì)顯示樣式有所區(qū)別,不影響功能就是了斩熊,這里我使用調(diào)試的瀏覽器是Chrome和Firefox

JavaScript部分

請(qǐng)先不要直接看這部分代碼往枣,先看我的思路講解再看這部分,你絕對(duì)可以輕松理解

<script>
    //跑動(dòng)的次數(shù)
    var count = 0;
    //動(dòng)畫的執(zhí)行方向
    var isgo = false;
    //定義計(jì)時(shí)器對(duì)象
    var timer;
    
    window.onload = function () {
        /*獲取ul元素*/
        var ul_img = document.getElementsByClassName("ul_img")[0];
        //獲取所有的li圖片元素
        var li_img = document.getElementsByClassName("li_img");
        //獲取控制方向的箭頭元素
        var arrow = document.getElementsByClassName("arrow");
        //獲取所有按鈕元素
        var div_btn = document.getElementsByClassName("div_btn");
        div_btn[0].style.backgroundColor = "aqua";


        /*定義計(jì)時(shí)器粉渠,控制圖片移動(dòng)*/
        showtime();
        function showtime() {
            timer = setInterval(function () {
                if (isgo == false) {
                    count++;
                    ul_img.style.transform = "translate(" + -800 * count + "px)";
                    if (count >= li_img.length - 1) {
                        count = li_img.length - 1;
                        isgo = true;
                    }
                }
                else {
                    count--;
                    ul_img.style.transform = "translate(" + -800 * count + "px)";
                    if (count <= 0) {
                        count = 0;
                        isgo = false;
                    }
                }

                for (var i = 0; i < div_btn.length; i++) {
                    div_btn[i].style.backgroundColor = "aquamarine";
                }
                
                div_btn[count].style.backgroundColor = "aqua";
                
            }, 4000)
        }

        /*鼠標(biāo)進(jìn)入左右方向鍵操作*/
        for (var i = 0; i < arrow.length; i++) {
            //鼠標(biāo)懸停時(shí)
            arrow[i].onmouseover = function () {
                //停止計(jì)時(shí)器
                clearInterval(timer);
            }
            //鼠標(biāo)離開時(shí)
            arrow[i].onmouseout = function () {
                //添加計(jì)時(shí)器
                showtime();
            }
            arrow[i].onclick = function () {
                //區(qū)分左右
                if (this.title == 0) {
                    count++;
                    if (count > 3) {
                        count = 0;
                    }
                }
                else {
                    count--;
                    if (count < 0) {
                        count = 3;
                    }
                }

                ul_img.style.transform = "translate(" + -800 * count + "px)";

                for (var i = 0; i < div_btn.length; i++) {
                    div_btn[i].style.backgroundColor = "aquamarine";
                }
                div_btn[count].style.backgroundColor = "aqua";
            }
        }

        //鼠標(biāo)懸停在底部按鈕的操作
        for (var b = 0; b < div_btn.length; b++) {
            div_btn[b].index = b;
            div_btn[b].onmouseover = function () {

                clearInterval(timer);

                for (var a = 0; a < div_btn.length; a++) {
                    div_btn[a].style.backgroundColor = "aquamarine";
                }
                div_btn[this.index].style.backgroundColor = "aqua";
                //讓count值對(duì)應(yīng)
                //為了控制方向
                if (this.index == 3) {
                    isgo = true;
                }
                if (this.index == 0) {
                    isgo = false;
                }
                count = this.index;
                ul_img.style.transform = "translate(" + -800 * this.index + "px)";
            }
            div_btn[b].onmouseout = function () {
                //添加計(jì)時(shí)器
                showtime();
            }
        }
    }
</script>

思路詳解

首先分冈,在思考這個(gè)輪播圖怎么去實(shí)現(xiàn)的時(shí)候,請(qǐng)先考慮要為這個(gè)輪播圖設(shè)置什么樣的功能霸株,我設(shè)定的有三個(gè)功能:

  • 圖片可以自動(dòng)右向輪播雕沉,輪播至最后一張圖片的時(shí)候,反向向左輪播去件,循環(huán)反復(fù)
  • 可以用左右方向鍵去控制圖片輪播方向
  • 可以利用下方的圓角矩形來(lái)選擇瀏覽某一張圖片

在明確了功能之后坡椒,接下來(lái)依次解決不就行了扰路,好,我們看第一個(gè)問(wèn)題倔叼,怎么實(shí)現(xiàn)圖片可以自動(dòng)右向輪播汗唱,輪播至最后一張圖片的時(shí)候,反向向左輪播丈攒,循環(huán)反復(fù)呢哩罪?沒(méi)錯(cuò),使用定時(shí)器setTimeout()或者setInterval()可以輕松解決巡验,在這里我就使用setInterval()际插,如果有不太了解的,請(qǐng)點(diǎn)這里如何使用setInterval()深碱。好了腹鹉,接下是第一部分功能的代碼思路:

  • 第一個(gè)功能

要想讓圖片自動(dòng)輪播藏畅,我們首先去設(shè)定一個(gè)函數(shù)showtime()敷硅,當(dāng)然寫完了這個(gè)函數(shù),我們的第一個(gè)功能也就完成了愉阎,好的绞蹦,那我就開始寫了……



好吧,當(dāng)然不能直接寫了榜旦,首先你得思考幽七,既然圖片一開始向右輪播,你總得先設(shè)定一個(gè)方向吧溅呢,然后再考慮澡屡,還得設(shè)定一個(gè)跑動(dòng)的次數(shù),比如初始位置為第一張圖片咐旧,我要向右跑動(dòng)3次驶鹉,就可以到達(dá)第四張圖片,然后還要設(shè)定一個(gè)定時(shí)器對(duì)象铣墨,用處以后會(huì)說(shuō)到室埋,這幾個(gè)必須是全局變量,所以必須在一開始就聲明:

    //跑動(dòng)的次數(shù)
    var count = 0;
    //動(dòng)畫的執(zhí)行方向
    var isgo = false;
    //定義計(jì)時(shí)器對(duì)象
    var timer;

然后可以開寫了伊约,當(dāng)然要先獲取圖片元素:

    /*獲取ul元素*/
    var ul_img = document.getElementsByClassName("ul_img")[0];
    //獲取所有的li圖片元素
    var li_img = document.getElementsByClassName("li_img");

好的姚淆,準(zhǔn)備工作到此結(jié)束,圖片輪播的原理就是圖片排成一行屡律,然后準(zhǔn)備一個(gè)只有一張圖片大小的容器腌逢,對(duì)這個(gè)容器設(shè)置超出部分隱藏,在控制定時(shí)器來(lái)讓這些圖片整體左移或右移超埋,這樣呈現(xiàn)出來(lái)的效果就是圖片在輪播了上忍,我們這里先f(wàn)unction一個(gè)showtime()函數(shù)骤肛,并在里邊添加一個(gè)定時(shí)器來(lái)為控制圖片輪播做準(zhǔn)備:

  function showtime() {
         timer = setInterval(function (){ }, 4000);
      }

在上面,我定義了每次延遲4000毫秒(即4秒)來(lái)執(zhí)行一次setInterval()里的匿名函數(shù)function(){ }窍蓝,是為了盡可能的讓輪播效果不至于太快腋颠。然后我在匿名函數(shù)function(){ }加入以下三行代碼:

  function showtime() {
         timer = setInterval(function (){
            if (isgo == false) {
               count++;
               ul_img.style.transform = "translate(" + -800 * count + "px)";
         }
     }, 4000);
 }

記得之前我們聲明了isgo全局變量,并為它賦值為布爾值false嗎?這里if判斷語(yǔ)句會(huì)直接成立吓笙,if中的語(yǔ)句會(huì)讓count加一淑玫,并為ul_img設(shè)置了style樣式,讓ul_img整體(即四張圖片整體的ul)向左移動(dòng)800px面睛,(因?yàn)樵贑SS中為圖片設(shè)置了width為800px)絮蒿,所以以上語(yǔ)句會(huì)控制圖片集體向左推入800px的距離,讓第二張圖片進(jìn)入到顯示容器中叁鉴,土涝、(在此之前第二三四張圖片都是隱藏的,因?yàn)槲以O(shè)置了超出部分隱藏)幌墓,所以此時(shí)輪播圖的狀態(tài)是第二張圖片顯示但壮,第一三四張圖片隱藏,然后每隔4秒就會(huì)重復(fù)上述過(guò)程常侣,然后這樣就實(shí)現(xiàn)了輪播……嗎蜡饵?



很快你就會(huì)發(fā)現(xiàn)問(wèn)題,那就是當(dāng)向左移動(dòng)了三次(即count = 3時(shí))胳施,顯示的是第四張圖片溯祸,這沒(méi)問(wèn)題對(duì)吧,但是再過(guò)4秒舞肆,可就不妙了焦辅,你會(huì)發(fā)現(xiàn)圖片再往左移(即 count = 4時(shí)),媽蛋椿胯!沒(méi)圖了筷登!顯示的是空白,怎么解決呢压状?hin簡(jiǎn)單仆抵!加一個(gè)if判斷語(yǔ)句不就行了!

  function showtime() {
         timer = setInterval(function (){
            if (isgo == false) {
               count++;
               ul_img.style.transform = "translate(" + -800 * count + "px)";
                 if (count >= li_img.length - 1) {
                        count = li_img.length - 1;
                        isgo = true;
              }
         }
     }, 4000);
 }

以上代碼种冬,我加了一個(gè)判斷語(yǔ)句镣丑,在count大于等于li.img.length-1(即count >= 3)時(shí),禁止count再自增娱两,同時(shí)改變isgo的值莺匠,讓輪播圖開始反向滾動(dòng),所以就會(huì)在增加一個(gè)else來(lái)描述isgo=true的情況:

  function showtime() {
         timer = setInterval(function (){
        if (isgo == false) {
               count++;
               ul_img.style.transform = "translate(" + -800 * count + "px)";
                 if (count >= li_img.length - 1) {
                        count = li_img.length - 1;
                        isgo = true;
              }
         else {
                    count--;
                    ul_img.style.transform = "translate(" + -800 * count + "px)";
                    if (count <= 0) {
                        count = 0;
                        isgo = false;
                    }
              }
     }, 4000);
}
  showtime()十兢;

else的情況就是控制圖片反向輪播趣竣,所以以上代碼很好理解摇庙,就是count--,并且在count <= 0時(shí)遥缕,為isgo重新設(shè)置false卫袒,讓圖片再正向輪播,循環(huán)往復(fù)单匣,最后再調(diào)用showtime()函數(shù)夕凝,第一個(gè)功能到此為止就完全實(shí)現(xiàn)了!

  • 第二個(gè)功能

第二個(gè)功能我們要添加鼠標(biāo)進(jìn)入左右兩個(gè)方向鍵的操作户秤,首先獲取左右兩個(gè)方向鍵码秉。

     //獲取控制方向的箭頭元素
     var arrow = document.getElementsByClassName("arrow");

好了,由于方向鍵有兩個(gè)鸡号,所以我們要來(lái)用for循環(huán)來(lái)為它們綁定事件:

 for (var i = 0; i < arrow.length; i++) {
      //鼠標(biāo)懸停時(shí)
      arrow[i].onmouseover = function () {
      //停止計(jì)時(shí)器
      clearInterval(timer);
     }
      //鼠標(biāo)離開時(shí)
      arrow[i].onmouseout = function () {
      //添加計(jì)時(shí)器
      showtime();
    }
}

以上四條語(yǔ)句為方向鍵綁定了兩個(gè)事件转砖,鼠標(biāo)懸停時(shí),我們利用clearInteral()來(lái)終止定時(shí)器鲸伴,這就是前面我們把timer要聲明為全局變量的原因府蔗,便于我們可以在想停止定時(shí)器的時(shí)候停止它。接下來(lái)我們?yōu)榉较蜴I添加onclick事件挑围,以便我們可以通過(guò)其控制方向:

 for (var i = 0; i < arrow.length; i++) {
      //鼠標(biāo)懸停時(shí)
      arrow[i].onmouseover = function () {
      //停止計(jì)時(shí)器
      clearInterval(timer);
      }
      //鼠標(biāo)離開時(shí)
      arrow[i].onmouseout = function () {
      //添加計(jì)時(shí)器
      showtime();
     }
     arrow[i].onclick = function () {
     //區(qū)分左右
     if (this.title == 0) {
       count++;
      if (count > 3) {
       count = 0;
     }
    }
      else {
       count--;
      if (count < 0) {
       count = 3;
     }
    }
   ul_img.style.transform = "translate(" + -800 * count + "px)";
 }
}

不知道大家注意到了沒(méi)有礁竞,我在之前HTML中為左右方向鍵分別設(shè)置了title值:0和1糖荒;所以這里直接用title值來(lái)區(qū)分左右杉辙,為右方向鍵我們執(zhí)行count++;為左方向鍵我們執(zhí)行count--捶朵;同時(shí)也考慮到count>3和count<0的情況蜘矢,這些之前提到過(guò),這里不再贅述综看,到此為止品腹,第二部分的功能也實(shí)現(xiàn)了,很簡(jiǎn)單吧

  • 第三個(gè)功能

鼠標(biāo)懸停在底部圓角矩形的操作红碑,同樣的道理舞吭,首先獲取四個(gè)圓角矩形,然后用for循環(huán)為它們綁定事件:

     var div_btn = document.getElementsByClassName("div_btn");
     div_btn[0].style.backgroundColor = "aqua";       
     //鼠標(biāo)懸停在底部按鈕的操作
     for (var b = 0; b < div_btn.length; b++) {
            div_btn[b].index = b;
            div_btn[b].onmouseover = function () {}
            div_btn[b].onmouseout = function () {}
}

有的同學(xué)可能不太懂<code>div_btn[b].index = b;</code>這條語(yǔ)句干什么的用的析珊,關(guān)于這個(gè)問(wèn)題羡鸥,涉及到循環(huán)綁定的一個(gè)坑,請(qǐng)大家看這篇文章關(guān)于在for循環(huán)中綁定事件打印變量i是最后一次

好忠寻,接下來(lái)我們先寫鼠標(biāo)懸停事件:

   div_btn[b].onmouseover = function () {
      clearInterval(timer);

      for (var a = 0; a < div_btn.length; a++) {
          div_btn[a].style.backgroundColor = "aquamarine";
       }
          div_btn[this.index].style.backgroundColor = "aqua";
      //為了控制方向
      if (this.index == 3) {
         isgo = true;
       }
      if (this.index == 0) {
         isgo = false;
       }
      //讓count值對(duì)應(yīng)
      count = this.index;
      ul_img.style.transform = "translate(" + -800 * this.index + "px)";
    }
}

有了之前的基礎(chǔ)惧浴,我在講鼠標(biāo)懸停事件的時(shí)候,各位應(yīng)該就更容易理解了奕剃,我首先在鼠標(biāo)懸停時(shí)用<code> clearInterval(timer);</code>來(lái)停止定時(shí)器衷旅,然后為每個(gè)圓角矩形都加上顏色捐腿,并且為懸停的圓角矩形變色,之后考慮到了大于三和小于零的情況柿顶,再之后茄袖,我把當(dāng)前的index屬性值賦給count,讓用戶可以通過(guò)懸停底部圓角矩形來(lái)選擇看第幾張圖片嘁锯。

最后再加上鼠標(biāo)離開事件:

 div_btn[b].onmouseout = function () {
      //添加計(jì)時(shí)器
      showtime();
    }
}

大功告成=逝濉!猪钮!至此所有功能寫完品山。其實(shí)最后還有一步就是:

 for (var a = 0; a < div_btn.length; a++) {
          div_btn[a].style.backgroundColor = "aquamarine";
       }
          div_btn[count].style.backgroundColor = "aqua";
}

將以上代碼,添加到功能一和功能二的代碼里烤低,目的是肘交,讓圖片自動(dòng)輪播和控制左右方向鍵時(shí),底部圓角矩形也能隨之變色扑馁。
以下是源碼涯呻,放在Github上了:https://github.com/Joe19970619/Shuffling-figure-1

最后再放一遍完整的JS代碼:

<script>
    var count = 0;
    var isgo = false;
    var timer;
    
    window.onload = function () {
        var ul_img = document.getElementsByClassName("ul_img")[0];
        var li_img = document.getElementsByClassName("li_img");
        var arrow = document.getElementsByClassName("arrow");
        var div_btn = document.getElementsByClassName("div_btn");
        div_btn[0].style.backgroundColor = "aqua";


        showtime();
        function showtime() {
            timer = setInterval(function () {
                if (isgo == false) {
                    count++;
                    ul_img.style.transform = "translate(" + -800 * count + "px)";
                    if (count >= li_img.length - 1) {
                        count = li_img.length - 1;
                        isgo = true;
                    }
                }
                else {
                    count--;
                    ul_img.style.transform = "translate(" + -800 * count + "px)";
                    if (count <= 0) {
                        count = 0;
                        isgo = false;
                    }
                }
                for (var i = 0; i < div_btn.length; i++) {
                    div_btn[i].style.backgroundColor = "aquamarine";
                }     
                div_btn[count].style.backgroundColor = "aqua";
                
            }, 4000)
        }


        for (var i = 0; i < arrow.length; i++) {
            arrow[i].onmouseover = function () {
                clearInterval(timer);
            }
            arrow[i].onmouseout = function () {
                showtime();
            }
            arrow[i].onclick = function () {
                if (this.title == 0) {
                    count++;
                    if (count > 3) {
                        count = 0;
                    }
                }
                else {
                    count--;
                    if (count < 0) {
                        count = 3;
                    }
                }

                ul_img.style.transform = "translate(" + -800 * count + "px)";

                for (var i = 0; i < div_btn.length; i++) {
                    div_btn[i].style.backgroundColor = "aquamarine";
                }
                div_btn[count].style.backgroundColor = "aqua";
            }
        }
        for (var b = 0; b < div_btn.length; b++) {
            div_btn[b].index = b;
            div_btn[b].onmouseover = function () {

                clearInterval(timer);

                for (var a = 0; a < div_btn.length; a++) {
                    div_btn[a].style.backgroundColor = "aquamarine";
                }
                div_btn[this.index].style.backgroundColor = "aqua";
                if (this.index == 3) {
                    isgo = true;
                }
                if (this.index == 0) {
                    isgo = false;
                }
                count = this.index;
                ul_img.style.transform = "translate(" + -800 * this.index + "px)";
            }
            div_btn[b].onmouseout = function () {         
                showtime();
            }
        }
    }
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市腻要,隨后出現(xiàn)的幾起案子复罐,更是在濱河造成了極大的恐慌,老刑警劉巖雄家,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件效诅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡趟济,警方通過(guò)查閱死者的電腦和手機(jī)乱投,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)顷编,“玉大人戚炫,你說(shuō)我怎么就攤上這事∠蔽常” “怎么了双肤?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)钮惠。 經(jīng)常有香客問(wèn)我茅糜,道長(zhǎng),這世上最難降的妖魔是什么萌腿? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任限匣,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘米死。我一直安慰自己锌历,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布峦筒。 她就那樣靜靜地躺著究西,像睡著了一般。 火紅的嫁衣襯著肌膚如雪物喷。 梳的紋絲不亂的頭發(fā)上卤材,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音峦失,去河邊找鬼扇丛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尉辑,可吹牛的內(nèi)容都是我干的帆精。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼隧魄,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼卓练!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起购啄,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤襟企,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后狮含,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顽悼,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年辉川,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了表蝙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拴测。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乓旗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出集索,到底是詐尸還是另有隱情屿愚,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布务荆,位于F島的核電站妆距,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏函匕。R本人自食惡果不足惜娱据,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盅惜。 院中可真熱鬧中剩,春花似錦忌穿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至郊愧,卻和暖如春朴译,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背属铁。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工眠寿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人焦蘑。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓澜公,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親喇肋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子坟乾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,185評(píng)論 25 707
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件蝶防、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,107評(píng)論 4 62
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程甚侣,因...
    小菜c閱讀 6,426評(píng)論 0 17
  • 我特別喜歡拍照殷费,喜歡把身邊各式各樣打動(dòng)我的尋常事物,用照片的形式把它們一一記錄下來(lái)低葫,所以手機(jī)內(nèi)存常常不足详羡,需要時(shí)不...
    飛鳥630閱讀 491評(píng)論 0 0
  • 很多人新年都會(huì)有一個(gè)兩個(gè)或幾個(gè)愿望,我也有一個(gè)愿望嘿悬。 小的時(shí)候有有一個(gè)愿望就是能和父母去公園实柠,今年終于實(shí)現(xiàn)了我很幸...
    阿吖呆閱讀 204評(píng)論 0 0