jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用jQuery更改图像映射坐标值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_489_0@
@H_489_0@
我有一个非常复杂的图像地图,我想缩小一半.要做到这一点,需要将所有coord值除以2.由于有数千个coord值,我认为我可以使用jQuery遍历DOM来查找coord值,并将它们除以2.在 JavaScript和jQuery方面,我非常业余,而且我编写了以下代码,这些代码无法完成我的任务:

$(function(){
    $('area').each(function(){
        coord_vals= $('area'[coords]).split(',');
        new_vals= coord_vals/2;
        $('area'[coords]).val(new_vals + ',');
    });
});

这是我试图遍历的前几行HTML:

<div id="map">
    <img class="map" src="images/us_map.jpg" width="960" height="593" usemap="#usa">
    <map name="usa">
    <area href="#" title="SC" shape="poly" coords="735,418,734,419,731,416,729,413,727,411,725,410,723,405,720,399,716,398,714,396,713,393,711,391,709,390,707,387,704,385,699,383,382,697,379,696,378,693,373,690,686,371,684,369,368,685,366,687,365,363,360,701,356,708,355,724,728,732,359,745,358,747,760,769,374,764,762,761,759,392,758,394,756,395,754,751,401,749,404,748,744,408,741,409,742,412,737,417,735,418"></area>
    <area href="#" title="HI" shape="poly" coords="225,521,227,518,229,517,225,521"></area>
    <area href="#" title="HI" shape="poly" coords="235,241,520,243,244,516,513,240,512,236,514,235,518"></area>

解决方法

你可以这样做:

$("area").each(function() {
    var pairs = $(this).attr("coords").split(',');
    for(var i=0; i<pairs.length; i++) {
        var nums = pairs[i].split(',');
        for(var j=0; j<nums.length; j++) {
            nums[j] = parseFloat(nums[j]) /2;
        }
        pairs[i] = nums.join(',');
    }
    $(this).attr("coords",pairs.join(','));
});

这样可以保持格式并仔细转换每个格式,这是输出

<div id="map">
  <img class="map" src="images/us_map.jpg" width="960" height="593" usemap="#usa"> 
  <map name="usa"> 
    <area href="#" title="SC" shape="poly" coords="367.5,209,367,209.5,365.5,208,364.5,206.5,363.5,205.5,362.5,205,361.5,202.5,199.5,199,357,198,356.5,196.5,355.5,195.5,354.5,195,353.5,193.5,352,192.5,349.5,191.5,191,348.5,189.5,348,189,346.5,186.5,345,343,185.5,342,184.5,184,342.5,183,343.5,182.5,181.5,180,350.5,178,354,177.5,362,364,179.5,372.5,179,373.5,380,384.5,187,381,380.5,379.5,196,197,197.5,377,375.5,200.5,374.5,202,372,204,370.5,204.5,206,368.5,208.5,367.5,209">
    <area href="#" title="HI" shape="poly" coords="112.5,260.5,113.5,259,114.5,258.5,112.5,260.5">
    <area href="#" title="HI" shape="poly" coords="117.5,120.5,260,121.5,122,258,256.5,120,256,118,257,117.5,259"> 
  </map>
</div>

You can give it a try here.

@H_489_0@

大佬总结

以上是大佬教程为你收集整理的使用jQuery更改图像映射坐标值全部内容,希望文章能够帮你解决使用jQuery更改图像映射坐标值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:jquery使用图像坐标映射更改
猜你在找的jQuery相关文章
其他相关热搜词更多
phpJavaPython程序员load如何string使用参数jquery开发安装listlinuxiosandroid工具javascriptcap