首頁  >  問答  >  主體

javascript - 如何在外部點擊,跳到網頁後,顯示指定的模組。

例如外部別的頁面有幾個連結:
a b c d e
然後點擊後的跳轉詳情頁裡,abcde五個模組都在這一個頁面裡,預設顯示第一個a,其他都是display:none;

能否在外部頁面點擊b連結的時候,跳轉過來到詳情頁,直接顯示b內容,除了b內容外其他內容都是display:none,
在外部頁面點擊c鏈接的時候,跳轉過來到詳情頁,直接顯示c內容,除了c內容外其他內容都是display:none,

外部頁面:

<a href="1.html">a</a>
<a href="1.html">b</a>
<a href="1.html">c</a>
<a href="1.html">d</a>
<a href="1.html">e</a>

跳轉後1.html的頁面:

<ul class="uls">
    <li class="uls_li_checked">a</li>
    <li>b</li>
    <li>c</li>
    <li>d</li>
    <li>e</li>
</ul>
<p class="con">
    <p>a的内容</p>
    <p style="display:none;">b的内容</p>
    <p style="display:none;">c的内容</p>
    <p style="display:none;">d的内容</p>
    <p style="display:none;">e的内容</p>
</p>
<script>
    $('.uls li').on('click',function(){
        var aIndex = $(this).index();
        $('.con p').css({'display':'none'});
        $('.con').eq(aIndex).css({'display':'block'});
    })
</script>
伊谢尔伦伊谢尔伦2697 天前761

全部回覆(3)我來回復

  • 怪我咯

    怪我咯2017-05-31 10:41:54

    在五個連結中都加入一個參數,例如

    <a href="1.html#a">a</a>
    <a href="1.html#b">b</a>
    <a href="1.html#c">c</a>
    <a href="1.html#d">d</a>
    <a href="1.html#e">e</a>

    接著在這個頁面的 js 裡面判斷 url 後面的參數,來決定哪一個顯示哪個隱藏。
    window.location.hash 能夠取得到 url 的參數。

    if (window.location.hash==="#a"){
     //a 显示,其他隐藏
    }

    就用上面的方法來判斷是從哪個連結點過來的,就能顯示對應的區塊。

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-31 10:41:54

    用錨點實現就好了

    // 外部页面:
    <a href="1.html#a">a</a>
    <a href="1.html#b">b</a>
    <a href="1.html#c">c</a>
    <a href="1.html#d">d</a>
    <a href="1.html#e">e</a>
    跳转后1.html的页面:
    
    <ul class="uls">
        <li id="a" class="uls_li_checked">a</li>
        <li id="b">b</li>
        <li id="c">c</li>
        <li id="d">d</li>
        <li id="e">e</li>
    </ul>
    <p class="con">
        <p>a的内容</p>
        <p style="display:none;">b的内容</p>
        <p style="display:none;">c的内容</p>
        <p style="display:none;">d的内容</p>
        <p style="display:none;">e的内容</p>
    </p>

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-31 10:41:54

    我覺得你對HTML 簡單了解一下,然後著手學習目前比較流行的前端開發吧,如:(Vue.js)[https://cn.vuejs.org/]、(React.js)[http:/ /react-china.org/]、(AngularJS)[https://angularjs.org/]等。因為像你說的這種交互,除了使用常規的動態程式語言(如:PHP、Java等),前端實現起來還是比較麻煩的。
    深了就不多說了,你可以參考我以前回答的一個問題:/q/10...。他的需求跟你說的很像,只是一個傳遞 username,一個傳遞 index;
    大概代碼如下:
    這裡是有錨點作為參數傳遞:

    <a href="1.html#1">a</a>
    <a href="1.html#2">b</a>

    1.html 取得傳入的錨點資訊

    <script type="test/javascript">
    // $(function(){ ··· }) 等于 $(document).ready();
    $(function(){
        'use strict';
        
        // 初始化变量
        var useIndex = window.location.hash, // String:'#N',
            $tabNavItem = $('.uls > li'),
            tabNavItemActive = 'uls_li_checked',
            $tabContItem = $('.con').children();;
            
        // 修正参数 - W.L.hash 获取的是 `#string` 的格式,我们只需要 # 后面的内容
        useIndex = useIndex ? parseInt(useIndex.substr(1)) : 0;
        
        // 初始化自动显示
        flip( useIndex );
        
        // 手动切换
        tabNavItem.on('click.app',function(e){
            flip( $(this).index() );
        })
        
        // 切换方法
        function flip(index){
            // 全部移除选中 - 选择当前索引的条目 - 添加选中
            $tabNavItem.removeClass(tabNavItemActive)
            .eq(index)
            .addClass(tabNavItemActive);
            
            // 隐藏已显示条目 - 选择当前索引他条目 - 显示
            $tabContItem.hide()
            .eq(index)
            .show();
        }
        
    });
    </script>

    回覆
    0
  • 取消回覆