日语

时间:2018-04-10 08:54:40

标签: jquery cjk

in this page(日语),链接使用jQuery平滑过渡到它们被引用的ID,但由于它使用的是日文字符(SEOwise),它不起作用。

// Smooth scroll
    
    $('a[href*=#]:not([href=#])').click(function() {
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
            var target = $(this.hash);
            target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
            if (target.length) {
                $('html,body').animate({
                    scrollTop: target.offset().top - 200
                }, 1000);
                return false;
            }
        }
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="sommaire bullets" role="navigation">
  <ol>
    <li><a href="#北海道エリアで選べる電力会社">北海道エリアで選べる電力会社</a></li>
    <li><a href="#北海道エリア電力会社・電気料金">北海道エリアの電力会社と電気料金プラン</a></li>
  </ol>
</div> 

<h2 id="北海道エリアで選べる電力会社">北海道エリアで選べる電力会社</h2>
<h2 id="北海道エリア電力会社・電気料金">北海道エリアの電力会社と電気料金プラン</h2>

如果我将href和ID更改为任何基于拉丁语的措辞,它会按预期工作。

有什么方法可以让jQuery与日文字符一起使用?

2 个答案:

答案 0 :(得分:0)

您需要先解码this.hash。这可以使用decodeURIComponent()完成。

这应该有效:

&#13;
&#13;
// Smooth scroll
    
    $('a[href*=#]:not([href=#])').click(function() {
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
            var target = $(decodeURIComponent(this.hash));
            target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
            if (target.length) {
                $('html,body').animate({
                    scrollTop: target.offset().top - 200
                }, 1000);
                return false;
            }
        }
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="sommaire bullets" role="navigation">
  <ol>
    <li><a href="#北海道エリアで選べる電力会社">北海道エリアで選べる電力会社</a></li>
    <li><a href="#北海道エリア電力会社・電気料金">北海道エリアの電力会社と電気料金プラン</a></li>
  </ol>
</div> 

<h2 id="北海道エリアで選べる電力会社">北海道エリアで選べる電力会社</h2>
<h2 id="北海道エリア電力会社・電気料金">北海道エリアの電力会社と電気料金プラン</h2>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

&#13;
&#13;
Symbol
&#13;
// Smooth scroll
    
    $('a[href*=#]:not([href=#])').click(function() {
        if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
   
   $('body, html').stop().animate({
                    'scrollTop': $($(this).attr('href')).offset().top
                }, 980);
                
                return false;
            
            
        }
    });
&#13;
&#13;
&#13;

抱歉,我不确定您的代码是什么意思,但我已经为您简化了。