5

我最近完成了 Chris Converse 在 Lynda.com 上的一门课程,其中介绍了如何使用 Jquery 创建交互式地图。完成后,我留下以下文件:

  • 索引.html
  • 交互式地图.css
  • 交互式地图.js
  • jquery-1.5.min

和图像

现在我想把这个项目放到我的 magento 站点的一个 CMS 页面中。在做了一些研究之后,我收集了以下信息:

  1. 转到 /js 并添加一个名为 jquery 的新文件夹,并将 jquery-1.5.min 放在那里
  2. 打开这个文件并在最后添加以下代码行:var $j=jQuery.noConflict();
  3. 转到 interactive_map.js 并将所有 $ 替换为 $j
  4. 转到 app/design/frontend/default/mytheme/layout/page.xml 下的我的 page.xml 文件
  5. 添加这行代码:

     <action method="addJs"><script>jquery/jquery-1.5.noConflict.min.js</script></action> 
    

另外添加这行代码:

<action method="addItem"><type>skin_js</type><name>js/interactive_map.js</name></action>
  1. 将interactive_map.css中的信息复制到skin/frontend/default/mytheme/css/styles.css。将地图和点的 css 图像链接更改为 mytheme/images
  2. 转到 skin/frontend/default/mytheme/js 并添加 my_interactivemap.js 文件
  3. 将所有图像移动到 skin/frontend/default/mytheme/images
  4. 创建一个 CMS 页面,并在内容字段中,粘贴 index.html 文件中的代码
  5. 在 CMS 页面中,转到设计,然后在更新布局 XML 字段中添加:

      <reference name="head">
             <action method="addItem">
                <type>skin_js</type><name>js/interactive_map.js</name>
             </action>
           </reference>
    

测试页在这里。它的一部分工作,比如点击点,它们会改变颜色,但表单不会过滤任何数据,也不会显示任何图像或描述。它可能是 html 内容,但我不能确定。我现在几乎被困住了,希望在安装这个项目方面得到一些帮助。

如果可以的话请帮忙,我真的很难过。

这是javascript:

// JavaScript Document

$j(document).ready(function() {
// begin Ready

    //...................................................
    // When the form changes
    $j('#mapForm').change(function() {

        var selectedContinent = $j('#mapForm option:selected').val();
        if (selectedContinent == 'ALL'){
            $j('a.dot').slideDown(1000);
        }else{
            $j('a.dot[continent = "'+selectedContinent+'"]').slideDown(1000);
            $j('a.dot[continent != "'+selectedContinent+'"]').slideUp(1000);
        }

    });

    //...................................................
    // When a dot is clicked
    $j('a.dot').click(function(){

        $j('a.dot').removeClass('selected');
        $j(this).addClass('selected');

        var city = '.city_detail#' + $j(this).attr('city');
        var htmlCode = $j(city).html();

        $j('.detail_container').fadeOut(500, function(){
            $j('.detail_container .city_detail').html(htmlCode);
            $j('.detail_container').fadeIn(500);
        });

    });

// end Ready
});

这是CSS

/*Interactive map*/
.map_container {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #000;
    background-image: url("../images/template/map.png");
    background-repeat: no-repeat;
    background-position: 0px 0px;
    float: right;
    height: 325px;
    width: 760px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 20px;
    position: relative;
}
.map_container a.dot {
    display: block;
    height: 20px;
    width: 20px;
    background-image: url("../images/template/dots.png");
    background-repeat: no-repeat;
    background-position: 0px 0px;
    cursor: pointer;
    position: absolute;
}
.map_container .form_continent {
    position: absolute;
    left: 30px;
    top: 265px;
}
.map_container .detail_container {
    position: absolute;
    height: 260px;
    width: 240px;
    left: 480px;
    top: 35px;
}
.map_container .city_detail {
    width: 230px;
    padding-top: 10px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 12px;
    border-top-width: 1px;
    border-left-width: 1px;
    border-top-style: solid;
    border-left-style: solid;
    border-top-color: #A9B5C8;
    border-left-color: #A9B5C8;
    position: absolute;
    top: 0px;
    color: #FFF;
    border-radius: 10px;
    -moz-border-radius: 10px
    -webkit-border-radius: 10px;
}
.map_container .clear_both {
    clear: both;
}
.map_container .city_photo {
    float: left;
    margin-top: 0px;
    margin-right: 15px;
    margin-bottom: 0px;
    margin-left: 0px;
    border: 1px solid #FFF;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    box-shadow: 0px 5px 3px #424274;
    -moz-box-shadow: 0px 5px 3px #424274;
    -webkit-box-shadow: 0px 5px 3px #424274;
}
.map_container .city_info {
    float: left;
    width: 130px;
    color: #FFF;
}
.map_container .city_info h2 {
    font-size: 18px;
    margin: 0px;
}
.map_container .city_info h3 {
    font-size: 12px;
    text-transform: uppercase;
    color: #2C3748;
    letter-spacing: 4px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 12px;
    margin-left: 0px;
}
.map_container .city_info p {
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 12px;
    margin-left: 0px;
}
.city_detail_container {
    display: none;
}

.map_container a.dot:hover {
    background-position: 0px -20px;
}
.map_container a.dot.selected {
    background-position: 0px -40px;
}

和 html

    <div class="map_container"><a class="dot" style="left: 178px; top: 165px;"></a> <a class="dot" style="left: 240px; top: 73px;"></a> <a class="dot" style="left: 427px; top: 180px;"></a> <a class="dot" style="left: 412px; top: 94px;"></a> <a class="dot" style="left: 274px; top: 167px;"></a> <a class="dot" style="top: 99px; left: 113px;"></a> <a class="dot" style="top: 83px; left: 87px;"></a> <a class="dot" style="top: 173px; left: 387px;"></a> <a class="dot" style="top: 102px; left: 271px;"></a> <a class="dot" style="top: 134px; left: 153px;"></a> <a class="dot" style="top: 93px; left: 141px;"></a> <a class="dot" style="top: 115px; left: 375px;"></a> <a class="dot" style="top: 89px; left: 386px;"></a> <a class="dot" style="top: 195px; left: 153px;"></a> <a class="dot" style="top: 96px; left: 320px;"></a> <a class="dot" style="top: 113px; left: 343px;"></a> <a class="dot" style="top: 110px; left: 299px;"></a> <a class="dot" style="top: 84px; left: 257px;"></a> <a class="dot" style="top: 76px; left: 273px;"></a> <form id="mapForm" class="form_continent" method="post"> <select id="continent" name="continent"> <option value="AF">Africa</option> <option value="AS">ASia</option> <option value="AU">Australia</option> <option value="EU">Europe</option> <option value="NA">North America</option> <option value="ME">Middle East</option> <option value="SA">South America</option> <option value="ALL">Show all continents</option> </select> </form> <!--City details     --->
<div class="detail_container">
<div class="city_detail">
<div class="city_info" style="width: 200px;">
<h3>Choose a city...</h3>
<p>Description goes here...</p>
</div>
</div>
</div>
</div>
<div class="city_detail_container"><!-- City -->
<div id="sydney" class="city_detail"><img class="city_photo" src=".../images/cities/sydney.jpg" alt="sydney" width="75" height="75" />
<div class="city_info">
<h2>Sydney</h2>
<h3>Australia</h3>
<p>Pellentesque nibh felis, fddfdflitora torquent per conubia nostra, per inceptos hymenaeos commodo in interdum vitae leo.</p>
</div>
</div>
<!-- City -->
<div id="london" class="city_detail"><img class="city_photo" src="images/cities/london.jpg" alt="sydney" width="75" height="75" />
<div class="city_info">
<h2>London</h2>
<h3>Europe</h3>
<p>Curabitur fringilla. Nunc est ipsum, pretium quis, dapibus sed, varius non, lectus. Proin a quam. Praesent lacinia, eros quis aliquam porttitor, urna lacus volutpat urna, ut fermentum neque mi egestas dolor.</p>
</div>
</div>
<!-- City -->
<div id="riodejaneiro" class="city_detail"><img class="city_photo" src="images/cities/riodejaneiro.jpg" alt="rio de janerio" width="75" height="75" />
<div class="city_info">
<h2>Rio de Janerio</h2>
<h3>South America</h3>
<p>Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper, lectus nunc ullamcorper orci, fermentum bibendum enim nibh eget ipsum.</p>
</div>
</div>
<!-- City -->
<div id="tokyo" class="city_detail"><img class="city_photo" src="images/cities/tokyo.jpg" alt="brazil" width="75" height="75" />
<div class="city_info">
<h2>Tokyo</h2>
<h3>Asia</h3>
<p>Donec porttitor ligula eu dolor. Maecenas vitae nulla nam consectetuer. Lectus nunc ullamcorper orci, fermentum bibendum enim nibh eget ipsum.</p>
</div>
</div>
<!-- City -->
<div id="johannesburg" class="city_detail"><img class="city_photo" src="images/cities/johannesburg.jpg" alt="johannesburg" width="75" height="75" />
<div class="city_info">
<h2>Johannesburg</h2>
<h3>Africa</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="johannesburg" class="city_detail"><img class="city_photo" src="images/cities/johannesburg.jpg" alt="johannesburg" width="75" height="75" />
<div class="city_info">
<h2>Johannesburg</h2>
<h3>Africa</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="dallas" class="city_detail"><img class="city_photo" src="images/cities/dallas.jpg" alt="dallas" width="75" height="75" />
<div class="city_info">
<h2>Dallas</h2>
<h3>North America</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="seattle" class="city_detail"><img class="city_photo" src="images/cities/seattle.jpg" alt="seattle" width="75" height="75" />
<div class="city_info">
<h2>Seattle</h2>
<h3>North America</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="perth" class="city_detail"><img class="city_photo" src="images/cities/perth.jpg" alt="perth" width="75" height="75" />
<div class="city_info">
<h2>Perth</h2>
<h3>Australia</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="tripoli" class="city_detail"><img class="city_photo" src="images/cities/tripoli.jpg" alt="tripoli" width="75" height="75" />
<div class="city_info">
<h2>Tripoli</h2>
<h3>Africa</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="bogota" class="city_detail"><img class="city_photo" src="images/cities/bogota.jpg" alt="bogota" width="75" height="75" />
<div class="city_info">
<h2>Bogot&aacute;</h2>
<h3>South America</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="newyorkcity" class="city_detail"><img class="city_photo" src="images/cities/newyorkcity.jpg" alt="newyorkcity" width="75" height="75" />
<div class="city_info">
<h2>New York City</h2>
<h3>North America</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="phnompenh" class="city_detail"><img class="city_photo" src="images/cities/phnompenh.jpg" alt="phnompenh" width="75" height="75" />
<div class="city_info">
<h2>Phnom Penh</h2>
<h3>Asia</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper pharetra posuere.</p>
</div>
</div>
<!-- City -->
<div id="tianjin" class="city_detail"><img class="city_photo" src="images/cities/tianjin.jpg" alt="tianjin" width="75" height="75" />
<div class="city_info">
<h2>Tianjin</h2>
<h3>Asia</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="puntaarenas" class="city_detail"><img class="city_photo" src="images/cities/puntaarenas.jpg" alt="puntaarenas" width="75" height="75" />
<div class="city_info">
<h2>Punta Arenas</h2>
<h3>South America</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="buxoro" class="city_detail"><img class="city_photo" src="images/cities/buxoro.jpg" alt="buxoro" width="75" height="75" />
<div class="city_info">
<h2>Buxoro</h2>
<h3>Middle East</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="anakapalle" class="city_detail"><img class="city_photo" src="images/cities/anakapalle.jpg" alt="anakapalle" width="75" height="75" />
<div class="city_info">
<h2>Anakapalle</h2>
<h3>Middle East</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="albahr" class="city_detail"><img class="city_photo" src="images/cities/albahr.jpg" alt="albahr" width="75" height="75" />
<div class="city_info">
<h2>Al Bahr</h2>
<h3>Middle East</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="rome" class="city_detail"><img class="city_photo" src="images/cities/rome.jpg" alt="rome" width="75" height="75" />
<div class="city_info">
<h2>Rome</h2>
<h3>Europe</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
<!-- City -->
<div id="warszawa" class="city_detail"><img class="city_photo" src="images/cities/warszawa.jpg" alt="warszawa" width="75" height="75" />
<div class="city_info">
<h2>Warszawa</h2>
<h3>Europe</h3>
<p>Sed quis velit. Nulla facilisi. Nulla libero. Vivamus pharetra posuere sapien. Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper.</p>
</div>
</div>
</div>
4

1 回答 1

0

您的测试页面上存在 javascript 错误。

<script type="text/javascript" src="https://apis.google.com/js/plusone.js">在另一个<script>标签内。

尝试移动<script type="text/javascript" src="https://apis.google.com/js/plusone.js">到结束标记 ( </script>) 之后,看看它是否有效。

于 2012-07-18T08:41:37.137 回答