JavaScript 相關(guān)范例代碼匯總

1 js相關(guān)概念

  • 學(xué)習(xí)提示
    到了 JavaScript,學(xué)習(xí)難度會(huì)慢慢增加,永遠(yuǎn)記得:戒驕戒躁着绊、踏實(shí)前行。學(xué) JS 的過(guò)程中需要多動(dòng)手眶诈、多思考、多整理,慢慢準(zhǔn)備自己的小項(xiàng)目、大項(xiàng)目倒庵。

  • 學(xué)習(xí)資源
    知乎前端學(xué)習(xí)指南, 這里匯聚了老師們寫的原創(chuàng)文章,兩三天看一篇絕對(duì)受益匪淺
    GitHub筆試面試題集錦炫刷, 這里是收集的優(yōu)質(zhì)筆試面試題哄芜,可以作為學(xué)習(xí)成果的檢驗(yàn)
    饑人谷課件, 可以作為學(xué)習(xí)的教材
    課堂內(nèi)外一些前端小項(xiàng)目
    饑人谷 api,老師實(shí)現(xiàn)的一些 api 接口柬唯,便于大家做一些個(gè)人創(chuàng)意小項(xiàng)目
    饑人谷作品庫(kù), 饑人谷作品庫(kù),里面收集一些大家的作品圃庭,可以作為大家作品準(zhǔn)備的參考
    GitHub簡(jiǎn)歷模板, 老師收集的一些簡(jiǎn)歷模板锄奢,大家在寫簡(jiǎn)歷的時(shí)候可以參考

  • 谷外優(yōu)質(zhì)資源
    阮一峰Javascript教程, 系統(tǒng)權(quán)威的 JS 教程,可以作為學(xué)習(xí)的輔助教材
    湯姆大叔的 javascript 翻譯系列剧腻, 湯姆大叔翻譯的一些優(yōu)質(zhì)文章拘央,難度頗高,大家可以在學(xué)完進(jìn)階課程后再看

2 事件

  • 學(xué)習(xí)提示
    如果覺(jué)得實(shí)現(xiàn)起來(lái)有困難书在,可以參考代碼提示灰伟,一定要自己手寫一遍
    可參考:饑人谷課件-event事件
    題目5參考
    題目6參考
    題目7參考

3 事件的應(yīng)用

  • 題目1: 實(shí)現(xiàn)如下圖Tab切換的功能

  • 題目2:實(shí)現(xiàn)下圖的模態(tài)框功能,點(diǎn)擊模態(tài)框不隱藏儒旬,點(diǎn)擊關(guān)閉以及模態(tài)框以外的區(qū)域模態(tài)框隱藏

  • 學(xué)習(xí)提示
    題目1參考答案
    題目2參考答案栏账;參考答案里 CSS 里用了 LESS 的語(yǔ)法,有興趣的同學(xué)可參考LESS

4 瀑布流實(shí)現(xiàn)

<!doctype html>
<html lang="zh-Hans"><head>
 <meta charset="UTF-8"> 
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 
<meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> 
<style> 
* { margin: 0; padding: 0; 
} 
#container { display: flex; justify-content: center;
 }
 #container > #col1, #container > #col2, #container > #col3 {
 width: 250px; 
min-height: 100px;
 margin: 0 10px;
 overflow: hidden; 
}
 #container img {
 max-width: 100%; 
vertical-align: top; 
margin-bottom: 10px;
 } 
</style>
</head>
<body>
<!doctype html>
<html lang="zh-Hans">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    * { margin: 0; padding: 0; }
    #container {
      display: flex;
      justify-content: center;
    }
    #container > #col1,
    #container > #col2,
    #container > #col3 {
      width: 250px;
      min-height: 100px;
      margin: 0 10px;
      overflow: hidden;
    }
    #container img {
      max-width: 100%;
      vertical-align: top;
      margin-bottom: 10px;
    }
  </style>
</head>
<body>

<div id="container">
  <div id="col1"></div>
  <div id="col2"></div>
  <div id="col3"></div>
</div>

<script src="node_modules/jquery/dist/jquery.min.js"></script>
<script>

  let $container = $('#container')
  let columns = [$('#col1'), $('#col2'), $('#col3')]
  let totalHeights = [0, 0, 0]
  let currentPage = 1


  getOnePage(1, function () {
    getOnePage(2, function () {
      currentPage = 2
    })
  })

  $(window).scroll(function () {
    if (isBottom()) {
      getOnePage(currentPage + 1, function(){
        currentPage += 1
      })
    } else {
      console.log('繼續(xù)滾')
    }
  })

  function isBottom () {
    return $(window).scrollTop() + $(window).height() == $(document).height()
  }

  function getOnePage (page, success) {
    let number = 0
    let images = []
    getNews(6, page).then(function (response) {
      let data = response.data
      data.forEach((item, index) => {
        let img = new Image()
        images.push(img)
        img.onload = function () {
          number += 1
          if (number === 6) {
            for (let i = 0; i < images.length; i++) {
              let shortestColumnIndex = findIndexOfShortestColumn()
              $(`#col${shortestColumnIndex + 1}`).append(images[i])
              totalHeights[shortestColumnIndex] += images[i].height + 10
            }
            success && success()
          }
        }
        img.src = randomImage()
      })
    })
  }

  function findIndexOfShortestColumn () {
    let minIndex = 0
    for (let i = 0; i < totalHeights.length; i++) {
      if (totalHeights[i] < totalHeights[minIndex]) {
        minIndex = i
      }
    }
    return minIndex
  }

  // 生成隨機(jī)圖片
  function randomImage () {
    let height = parseInt(Math.random() * 200 + 100, 10) // 100~300
    return `http://lorempixel.com/250/${height}/sports/Dummy-Text/`
  }
  // 不要看了
  // 獲取新聞
  function getNews (number, page) {
    page = page || 1 // 保底
    number = number || 8
    let url = `http://platform.sina.com.cn/slide/album_tech` +
      `?app_key=1271687855&num=${number}&page=${page}`
    return $.ajax({
      url: url,
      dataType: 'jsonp',
      jsonp: 'jsoncallback'
    })
  }
</script>
</body>
</html>

5其他JS Bin代碼匯總:

1
我的第一個(gè)頁(yè)面
導(dǎo)航欄
作品
2
輸入框
新聞加載
github在線簡(jiǎn)歷編輯1
github在線簡(jiǎn)歷編輯2
面試題匯總
筆試題分享
饑人谷前端作品庫(kù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末栈源,一起剝皮案震驚了整個(gè)濱河市挡爵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌甚垦,老刑警劉巖茶鹃,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涣雕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡闭翩,警方通過(guò)查閱死者的電腦和手機(jī)挣郭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)疗韵,“玉大人兑障,你說(shuō)我怎么就攤上這事×姘簦” “怎么了旺垒?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)肤无。 經(jīng)常有香客問(wèn)我先蒋,道長(zhǎng),這世上最難降的妖魔是什么宛渐? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任竞漾,我火速辦了婚禮,結(jié)果婚禮上窥翩,老公的妹妹穿的比我還像新娘业岁。我一直安慰自己,他們只是感情好寇蚊,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布笔时。 她就那樣靜靜地躺著,像睡著了一般仗岸。 火紅的嫁衣襯著肌膚如雪允耿。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,328評(píng)論 1 310
  • 那天扒怖,我揣著相機(jī)與錄音较锡,去河邊找鬼。 笑死盗痒,一個(gè)胖子當(dāng)著我的面吹牛蚂蕴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播俯邓,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼骡楼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了稽鞭?” 一聲冷哼從身側(cè)響起君编,我...
    開(kāi)封第一講書(shū)人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎川慌,沒(méi)想到半個(gè)月后吃嘿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體祠乃,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年兑燥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了亮瓷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡降瞳,死狀恐怖嘱支,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挣饥,我是刑警寧澤除师,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站扔枫,受9級(jí)特大地震影響汛聚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜短荐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一倚舀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧忍宋,春花似錦痕貌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至入宦,卻和暖如春柱查,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背云石。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留研乒,地道東北人汹忠。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像雹熬,于是被迫代替她去往敵國(guó)和親宽菜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,298評(píng)論 25 707
  • 1.前言 最近有很多朋友問(wèn)我有沒(méi)有相關(guān)的書(shū)籍推薦竿报,希望能夠自學(xué)一下前端铅乡。 正好最近在查閱文章的時(shí)候,發(fā)現(xiàn)有朋友已經(jīng)...
    小裁縫sun閱讀 2,379評(píng)論 5 76
  • 飛雪玉花烈菌,佳期如夢(mèng)青分天阵幸。麻姑遇世滄海覺(jué)花履。沉柯一夢(mèng),浮生嘆流水挚赊。春裝高歌舊時(shí)約诡壁。流年化酒芬芳繞。才子韶華舞流年荠割。高...
    潭落花閱讀 274評(píng)論 1 4
  • 一切的 歡愉和悲傷 都從那個(gè)點(diǎn)開(kāi)始 那個(gè) 你我第一次相見(jiàn)的時(shí)刻 201*年**月**日夜 我時(shí)趁们洌回想 當(dāng)時(shí)你的樣子...
    玄一陽(yáng)平閱讀 281評(píng)論 0 0
  • 【成語(yǔ)】金龜換酒 【釋義】金龜:袋名嚎朽,唐代官員的一種佩飾铺纽。 解下金龜換美酒。形容為人豁達(dá)火鼻,恣情縱酒室囊。 【出處】唐·...
    單老師碼字閱讀 1,708評(píng)論 1 5