指定したhtmlタグからタグまでページ内スクロールするjQueryライブラリを作成していて動作せず躓いてしまったのでご教示いただけたらと思います。よろしくお願いいたします。
lang
1<script type="text/javascript"> 2//html側ファイル 3var btn_obj = [ 4 { 5 'btn_selector':'.scroll-0', 6 'target_selector':'.contact-0', 7 }, 8 { 9 'btn_selector':'.scroll-1', 10 'target_selector':'.contact-1', 11 }, 12{ 13 'btn_selector':'.scroll-2', 14 'target_selector':'.contact-2', 15 }, 16{ 17 'btn_selector':'.scroll-3', 18 'target_selector':'.contact-3', 19 }, 20{ 21 'btn_selector':'.scroll-4', 22 'target_selector':'.contact-4', 23 }, 24{ 25 'btn_selector':'.scroll-5', 26 'target_selector':'.contact-5', 27 }, 28]; 29$.each(btn_obj, function(key, value){ 30 31 if (typeof value.button_selector === 'undefined') { 32 return false; 33 } else { 34 $(body).PageScroll( 35 value); 36 return true; 37 } 38}); 39</script> 40
lang
1//js外部ファイル側 2 !(function($){ 3 $.fn.PageScroll = function( options ){ 4 var btn_obj, 5 scroll_target, 6 scroll_top, 7 body, 8 scroll_margin = 100; 9 10 var settings = $.extend( { 11 'btn_selector' : undefined, 12 'target_selector' : undefined 13 }, options); 14 15 body = $("html, body"); 16 btn_obj = $(options.btn_selector); 17 scroll_target = $(options.target_selector); 18 if(typeof btn_obj === "undefined"){ 19 return; 20 } 21 22 23 var offset = scroll_target.offset(); 24 scroll_top = offset.top - scroll_margin; 25 btn_obj.click(function(e){ 26 e.preventDefault(); 27 body.animate({scrollTop:scroll_top}, '1000', 'swing',function(){}); 28 }); 29 }); 30 })(jQuery); 31
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。