論壇開發總結

這個論壇做起來真的是一把辛酸淚啊!

一、重構

  1. 對於論壇這樣的項目,先要了解它的功能,頁面結構很多時候是和後臺功能以及他們的實現方式決定的。
  2. 對於設計師的原稿,不能一模一樣的照搬,某些間距、按鈕類別····可以根據實際情況進行調整。
  3. 一個項目css, js應當分文件管理,避免在一個文件內導致文件過大,文件命名一定需規範。
  4. 使用display: inline-block; 使li水平排列,詳見《ul-li列表經常要實現水平居》。
  5. 相同的模塊,例如:登錄box,分登錄前和登錄後,前後的模塊應當保持一致。
  6. 若一行均是文字,或有圖表,使用不同的字體會導致不能對齊顯示。

二、交互

1if ($.trim($passwords.val()) == "") {
     showPrompt("密碼不能爲空");
     $passwords.focus();
     return false;
  }

  a. $.trim() 去掉字符串中多餘的空格.
  b. $passwords.focus(); 當該輸入框不符合條件時,把光標定位到該輸入框.
2$loginBtn.prop('disabled', true);
    $.post($this.attr("action"), $this.serialize(), function (data) {
        if (data.status) {
            showPrompt(data.message || '登錄成功!', 1);
            window.top.location.href = data.url || location.pathname;
        } else {
            showPrompt(data.message || '登錄失敗!')
            $loginBtn.prop('disabled', false);
        }
    }, 'json');

    a. .prop()獲取或設置每一個匹配元素的一個或多個屬性。$(elem).prop("checked"); //true將改變複選框的狀態.
    b. $.post() 末尾需加上'json',要轉換成json格式,返回的數據才能被調用.
    c. $this.serialize()表單序列化爲文本字符串(a=1&b=2&c=3).
    d. location.pathname返回URL域名後的部分。例如dreamdu.php
    e. window.top.location.href 詳見《window.location.href》

3、添加推薦裏面tid交互效果是對的,但是其他控件不對,提交也木有反應,出錯原因:我加在input元素上的class,線上頁面根本就沒有加,後端程序都是太懶,git都懶得看下!

4、url爲什麼要編碼?

防止亂碼,中文參數傳遞過去有時候會顯示亂碼.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章