【问题标题】:Javascript using Parameter from URLJavascript 使用来自 URL 的参数
【发布时间】:2013-08-03 21:23:14
【问题描述】:

我的区域形状 href="/kosmetikstudios/deutschland/Bayern" 标签看起来有问题。我将使用参数“Bayern”(这是 url 的最后一个参数)。

我需要这个动态。

这是我的 Javascript 代码:

<script type="text/javascript">
  $(document).ready(function(){
  var mName="passiv";
    $("#map area").mouseenter(function(){

      mName = $(this).attr("href"); // i don't have idea to implement this
      bName="images/" +mName + ".png";
      $("#map img").attr("src",bName);

    });

    $("#map area").mouseleave(function(){
      bName="images/Europa.png";
      $("#map img").attr("src",bName);

    });

  });
</script>

这是我的 HTML 代码

 <area shape="poly" coords="356,300,355,299,354,298....." href="/kosmetikstudios/deutschland/Bayern" title="Kosmetikstudios in Bayern" alt="Kosmetikstudios in Bayern" />

<area shape="poly" coords="156,200,425,699,154,298....." href="/kosmetikstudios/deutschland/Berlin" title="Kosmetikstudios in Berlin" alt="Kosmetikstudios in Bayern" />

我希望有人可以帮助我。

问候,

戴夫

【问题讨论】:

    标签: javascript url parameters area


    【解决方案1】:
    mName = this.href.substring(
        this.href.lastIndexOf('/') + 1
    );
    

    【讨论】:

    • 你可以简单地使用this.href,不需要jQuery对象。
    【解决方案2】:

    您可以设置 data attribute 来存储名称,而不是从 URL 中提取值。

    例如:

    HTML

    <area shape="poly" data-name="Bayern" href="/kosmetikstudios/deutschland/Bayern" />
    <area shape="poly" data-name="Berlin" href="/kosmetikstudios/deutschland/Berlin" />
    

    JS

    <script type="text/javascript">
      $(document).ready(function(){
      var mName="passiv";
        $("#map area").mouseenter(function(){
    
          //read the data attributes
          mName = $(this).data("name");
    
          bName="images/" +mName + ".png";
          $("#map img").attr("src", bName);
    
        });
    
        $("#map area").mouseleave(function(){
          bName="images/Europa.png";
          $("#map img").attr("src",bName);
    
        });
    
      });
    </script>
    

    【讨论】:

    • 酷。如果您可以投票或接受它作为答案(如果有帮助),那就太棒了。谢谢!
    【解决方案3】:

    你可以这样做:

    mName = $(this).attr("href").split("/").reverse()[0];
    

    【讨论】:

    • 考虑this.href.split("/").reverse()[0];
    • 是的,原生 JS 更好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    • 2013-12-09
    • 2019-02-27
    相关资源
    最近更新 更多