0

画面サイズが原因でスライドショーが小さい場合、JSコードを使用してボタンの高さを自動的に調整しています。Chrome コンソールで使用すると機能しますが、サイトに挿入すると失敗します。

サイト: http://www.incensu.co.uk/

/js/main.js の下部でコメントアウトされているため、コードを配置している場所を確認できます。ここに参照用があります。

var homeTopMain = $('#homeTopMain');
if (homeTopMain) {
  var btnHeight = (homeTopMain.height()+20)/3-20; // 20px at bottom, 3 buttons, 20px between.
  $('.btnFlapsBodyWrapper').height(btnHeight);
  $('.btnFlapsRed').height(btnHeight);
  $('.btnFlapsGrey').height(btnHeight);
}

おそらくコードのタイミングまたはスコープの問題だと思いますが、何らかの理由でそれが見られません。おそらく、明確な心を持った人が問題を見つけることができますか?

4

2 に答える 2

0

ザックの先端は私を正しい方向に向けた。DOM内で上に移動しても、あるready()が別のready()の完了後に発生することを保証するものではありません。正しい解決策は、$(document).ready()ブロックからコードを削除し、それを$(window).load()ブロックに配置することです。

于 2013-02-26T10:37:38.610 に答える
-1

DOM の準備ができたらボタンのサイズを変更し、ウィンドウのサイズ変更時に実行することもできます。

$(document).ready(function()
{
    function ResizeButton()
    {
        var homeTopMain = $('#homeTopMain');
        if (homeTopMain) {
          var btnHeight = (homeTopMain.height()+20)/3-20; // 20px at bottom, 3 buttons, 20px between.
          $('.btnFlapsBodyWrapper').height(btnHeight);
          $('.btnFlapsRed').height(btnHeight);
          $('.btnFlapsGrey').height(btnHeight);
        }
    }
    ResizeButton();
    $(window).resize(ResizeButton);
});
于 2013-02-25T17:17:13.107 に答える