2021年7月1日 星期四

[jquery-animate]錨點鏈接-滑動 需註意事項

 想做出html書 籤在同頁移動滑行 

在 html_load 時載入


 $('a[href*=\\#]:not([href=\\#])').click(function () {

                    // 選擇元素是<a>, 且href包含(*=)'#',但不是(not)'#'

                    // 當元素 $('a(...ry)')被按下(click)後執行 function(){...}

                    var target = $(this.hash);

                    

                    // 設target為網址錨點(this.hash)元素

                    $('html,body').animate({

                        // 網頁(html,body)執行動畫(animate)

                        scrollTop: target.offset().top

                        // 向上捲動(scrollTop): 距離( target於網頁相對位置(offset)的y座標(top) )

                    }, 1000);

                    // 執行時間1000ms

                    return false; // 停止動作

                }); // END $('a(...ry)').click

           });

一直有異常 後來發現一篇文章說明 
今天在移轉舊專案程式碼,遇到jquery一些錯誤,
查了一下原來是用的2.x版有特殊字元要跳脫的問題,記錄一下。

Syntax error, unrecognized expression:

your selector is not valid. # is a special char and needs to be escaped like 'a[href*=\\#]:not([href=\\#])'

來源:http://iambigd.blogspot.com/2017/06/jquery-syntax-error-unrecognized.html

原來#在javascript 是特殊字元 

所以一直在鬼打牆,特記之;