jQuery 學習筆記

wxvirus發表於2019-08-06

jQuery中的dom追加操作方法(主動/被動、前面/後面、裡面/外面):

  1. append:主動/後面/裡面
  2. appendTo:被動/後面/裡面
  3. prepend:主動/前面/裡面
  4. prependTo:被動/前面/裡面
  5. before:主動/前面/外面
  6. after:主動/後面/外面
  7. insertBefore:被動/前面/外面
  8. insertAfter:被動/後面/外面

在jQuery中的迴圈操作:

$.each(obj, function(index, el) {
    // 迴圈體
});
obj:需要的迴圈物件
index:表示當前迴圈到元素的索引
el:元素,表示當前迴圈到的元素

非同步檔案上傳流程說明:

  1. 產生非同步的請求
  2. 請求得有一個相應的方法(需要返回值,返回內容:圖片的路徑;在此不需要進行資料表的互動)
  3. 當非同步請求獲取到相應之後需要儲存圖片的地址(但是又沒必要給使用者看地址,可以使用隱藏域的方式進行儲存)
  4. 當使用者提交表單的時候,順帶提交隱藏域的地址

laravel實現上傳處理方法

在laravel專案中除了在上傳的時候可以使用move和store方法【都是request例項封裝的】之外,還可以使用高階的上傳檔案儲存方法(由storage門面提供的)

Storage門面在使用的時候需要的注意事項:

  • 在storage門面中,有一個“磁碟”的概念,“磁碟”一共有三種:本地磁碟,公共磁碟,第三方磁碟;“磁碟”實質上就是一個目錄
  • 本地磁碟(local磁碟),這些檔案存放在local磁碟中的檔案是不能被瀏覽器訪問到的,儲存在其中的檔案一般都是專案的php程式碼自身使用!(磁碟位置位於/Storage/app)
  • 公共磁碟(public磁碟),儲存在該磁碟的檔案一般是允許瀏覽器進行訪問的。【磁碟位置位於:/Storage/app/public】
  • 第三方磁碟:驅動形式的一種,允許開發者將檔案上傳到第三方的伺服器上。
  • 磁碟存在一個配置檔案,位置/config/filesystems.php

預設情況下,瀏覽器是無法訪問到public磁碟目錄的,但是其又想讓瀏覽器訪問,所以需要做一個“軟連結的“的操作”

php artisan storage:link

相當於快捷方式

當軟連結建立好之後,Public磁碟中的內容會被同步到/public/storage/下

Storage門面的通用檔案儲存方法:

Storage::disk(磁碟名)->put(檔名,檔案內容);

非同步請求回撥處理

在html程式碼中新增隱藏域

<input type="hidden" name="avatar" value="">

透過回撥將返回的path寫入隱藏域

使用七牛雲端儲存儲存檔案

七牛:一家提供各種網路服務的運營商,其性質類似於阿里雲

做到程式碼與資源分離

原因:

  1. 在後期維護網站的也比較方便;
  2. 資源分離之後可以減輕程式碼伺服器的壓力;
  3. 如何將資源分離和CDN(content delivery network 內容分發網路)配合起來用,對於bat之類的大公司來說1年能夠生下來的成本至少7位數以上;

註冊七牛賬號後建立後期需要的物件儲存例項(不用充錢,每月免費10G空間, 20G的流量)

  • 選擇物件儲存

  • 新建空間:自己在哪個區域選擇哪個儲存區域

  • 下載七牛的程式碼依賴庫

    • composer require zgldh/qiniu-laravel-storage
    • 配置filesystems.php:

    • 'qiiniu' => [
                'driver' => 'qiniu',
                'domains'=> [
                    'default'   => 'xxxx.com1.z0.glb.clouddn.com',  // 你的七牛域名
                    'https'     => '',
                    'custom'    => ''
                ],
                'access_key'    => '',  // AK
                'secret_key'    => '',  // SK
                'bucket'        => '',  // 磁碟名字
                'notify_url'    => '',  // 持久化處理
                'access'        => 'public',    // 空間訪問控制
            ],
    • 新增providers陣列:

    • zgldh\QiniuStorage\QiniuFilesystemServiceProvider::class,

播放影片可以選用H5的播放器

<video src="movie.ogg" controls="controls">
您的瀏覽器不支援 video 標籤。
</video>

new : HTML5 中的新屬性。

屬性 描述
autoplay autoplay 如果出現該屬性,則影片在就緒後馬上播放。
controls controls 如果出現該屬性,則向使用者顯示控制元件,比如播放按鈕。
height pixels 設定影片播放器的高度。
loop loop 如果出現該屬性,則當媒介檔案完成播放後再次開始播放。
muted muted 規定影片的音訊輸出應該被靜音。
poster URL 規定影片下載時顯示的影像,或者在使用者點選播放按鈕前顯示的影像。
preload preload 如果出現該屬性,則影片在頁面載入時進行載入,並預備播放。如果使用 "autoplay",則忽略該屬性。
src url 要播放的影片的 URL。
width pixels 設定影片播放器的寬度。

原生JS給select新增option選項

var cateList = eval(ajaxResult);  
cateField.innerHTML = '';  
for(var idx in cateList) {  
    var option = document.createElement("option");  
    option.value = cateList[idx].id;  
    option.innerHTML = cateList[idx].name;  
    cateField.appendChild(option);  
}  

給table的tr加上點選事件

$('#content tbody').on('click','tr', function () {
    // 這是獲取第一個td文字
    var firstTd = $(this).find("td:first").text();
    // 這是獲取第二個td的文字
    var in_ku_id = $(this).find("td:nth-child(2)").text();
});

ajax渲染table

$('#content tbody').on('click','tr', function () {
            // 入庫編號
            var in_ku_id = $(this).find("td:nth-child(2)").text();
            // 將入庫編號傳給表單
            $('#ku_list_id').val(in_ku_id);
            $('#count tbody').html("");
            $.ajax({
                url: "{:url('/admin/stock/stock/kulist')}",
                data: {ku_id:in_ku_id},
                type: 'post',
                dataType: 'json',
                success: function (data) {
                    for (var i = 0; i < data.length; i++) {
                        tr = '<td>' + data[i].id + '</td>' + '<td>' + data[i].barcode +
                            '</td>' + '<td>' + data[i].goods_id + '</td>' + '<td>' + data[i]
                                .supply_name + '</td>' + '<td>' + data[i].standard + '</td>' + '<td>' +
                            data[i].unit + '</td>' + '<td>' + data[i].num + '</td>' + '<td>' + data[i].price + '</td>' +
                        '<td>' + data[i].sell_price + '</td>' + '<td>' + data[i].created_at + '</td>';
                        $("#count").append('<tr class="link">' + tr + '</tr>')
                    }
                }
            });
            return false;
        });
本作品採用《CC 協議》,轉載必須註明作者和本文連結
Virus

相關文章