2017-05-05 9 views
2

すべて! ここで、jQueryについて質問したいと思います.... '.eg-dropdown'という名前の要素を作成する.... 右の '.btn-dropdown'に合うように '.eg-dropdown'要素を作成します。 ....jQueryによる動的位置のドロップダウン

おかげで、そして私のあまり目立たない英語のため申し訳ありませんが.....

Index.htmlと

<div class="btn-dropdown">Publik</div> 

<ul class="eg-dropdown"> 
<li>Teman</li> 
<li>Pribadi</li> 
</ul> 

Index.css

.btn-dropdown { 
    display: inline-block; 
    width: 100px; 
    height: 20px; 
    position: absolute; 
    top: 100px; 
    left: 100px; 
    background: green; 
} 

ul { 
    margin: 0; 
    padding: 0; 
} 

Index.js

// DROPDOWN 
$(document).ready(function(){ 
var position_btn = $('.btn-dropdown').position(); 
$('.btn-dropdown').on('click', function(e){ 
    e.stopPropagation(); 
    console.log(position_btn); 
}); 

$('.eg-dropdown').css({ 
    'position' : 'absolute', 
    'top' : position_btn.top + $('.btn-dropdown').innerHeight(), 
    'left' : position_btn.left 
}); 
}); 

JSFIDDLE https://jsfiddle.net/FIERMANDT/1kLvdys1/

答えて

1

で見るには、以下のようにそれを実行します -

// DROPDOWN 
    $(document).ready(function(){ 
    var position_btn = $('.btn-dropdown').position(); 
    var widthBtn = $('.btn-dropdown').width(); 
    var widthEg = $('.btn-dropdown').height(); 
    $('.btn-dropdown').on('click', function(e){ 
     e.stopPropagation(); 
     console.log(widthEg); 
    }); 

    $('.eg-dropdown').css({ 
     'position' : 'absolute', 
     'top' : position_btn.top + $('.btn-dropdown').innerHeight(), 
     'left' : position_btn.left + widthBtn - widthEg 
    }); 
    }); 

の作業例: -

$(document).ready(function(){ 
 
    var position_btn = $('.btn-dropdown').position(); 
 
    var widthBtn = $('.btn-dropdown').width(); 
 
    var widthEg = $('.btn-dropdown').height(); 
 
    $('.btn-dropdown').on('click', function(e){ 
 
    e.stopPropagation(); 
 
    console.log(widthEg); 
 
    }); 
 

 
    $('.eg-dropdown').css({ 
 
    'position' : 'absolute', 
 
    'top' : position_btn.top + $('.btn-dropdown').innerHeight(), 
 
    'left' : position_btn.left + widthBtn - widthEg 
 
    }); 
 
});
.btn-dropdown { 
 
    display: inline-block; 
 
    width: 100px; 
 
    height: 20px; 
 
    position: absolute; 
 
    top: 100px; 
 
    left: 100px; 
 
    background: green; 
 
} 
 

 
ul { 
 
    margin: 0; 
 
    padding: 0; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="btn-dropdown">Publik</div> 
 

 
<ul class="eg-dropdown"> 
 
<li>Teman</li> 
 
<li>Pribadi</li> 
 
</ul>

を0
+0

@Firmansyahのための簡単なCSSを使用することができますか? –

+0

@Firmansyahこのようなものは?あなたはリンクを提供していますが、それらのリンクにあなたが何を望んでいるのか分からないのですか? –

+0

THX、:D 私はあなたが与えるコードからアイデアを得る:D – Firmansyah

0

代わりのスクリプトあなたは私のコードを使用したときに何を得るの問題この

$(document).ready(function(){ 
 
    
 
    $('.btn-dropdown > a').on('click', function(e){ 
 
    e.stopPropagation(); 
 
    $(this).siblings('.eg-dropdown').toggle(); 
 
    }); 
 
});
.btn-dropdown { 
 
    display: inline-block; 
 
    width: 100px; 
 
    height: 20px; 
 
    position: relative; 
 
    background: green; 
 
} 
 

 
ul { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
.eg-dropdown { 
 
    display: none; 
 
    position: absolute; 
 
    left: 0px; 
 
    top: 100%; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="btn-dropdown"><a href="#" title="">Publik</a> 
 
    <ul class="eg-dropdown"> 
 
    <li>Teman</li> 
 
    <li>Pribadi</li> 
 
    </ul> 
 
</div>

0

             
  
$(document).ready(function(){ 
 
    
 
    $('.btn-dropdown').on('click', function(e){ 
 
    e.stopPropagation(); 
 
    $(this).children('.eg-dropdown').toggle('slow',function(){ 
 
    \t alert("fbhdh"); 
 
    
 
    }); 
 
    }); 
 
});
.btn-dropdown { 
 
     display: inline-block; 
 
     width: 100px; 
 
     height: 20px; 
 
     position: relative; 
 
     background: green; 
 
    } 
 

 
    ul { 
 
     margin: 0; 
 
     padding: 0; 
 
    } 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <div class="btn-dropdown">Publik 
 
     <ul class="eg-dropdown"> 
 
     <li>Teman</li> 
 
     <li>Pribadi</li> 
 
     </ul> 
 
    </div>
関連する問題