0

私はjQuery全体に不慣れです。kentico CMSでWebサイトを作成しようとしています。必要なのは、ヘッダーのh2内容に応じてヘッダー画像を変更することです。したがって、ページごとに異なる画像が表示されます。

で試しまし.addClassたが.css.attr何も機能しないようです。私が試したjQueryは次のとおりです。

$(document).ready (function() {
{

var title = $('h2').text(); 

switch(title)
{
    case 'About us':
        $('.contentHeader').addClass('contentAbout')
        break;
    case 'Education':
        $('.contentHeader').css('background-image','url(/edu.png)')
        break;
    case 'Projects':
        $('.contentHeader').attr('src','/projects.png')
        break;
    case 'Benefits':
        $('.contentHeader').attr('src','/benefits.png')
        break;
    default:

}



)};

したがって、基本的には、ヘッダーを's text=Educationのedu.png場合に変更したいと思います。h2

4

1 に答える 1

2

最後の行に変更)};してみてください。必要がない場合は、使用しないでください。});default:

また、2行目から削除{します(Peterに感謝)

$(function() { // DOM ready (shorthand)

    var title = $('h2').text(); 

    switch(title){
        case 'About us':
            $('.contentHeader').addClass('contentAbout');
            break;
        case 'Education':
            $('.contentHeader').css('background-image','url(/edu.png)');
            break;
        case 'Projects':
            $('.contentHeader').attr('src','/projects.png');
            break;
        case 'Benefits':
            $('.contentHeader').attr('src','/benefits.png');
            break;
    }

});

この方法でも実行できます。

$(function(){ 

  var title = $('h2').text(); 

  var changes = {
    'About us'  : ['addClass', 'contentAbout'],
    'Education' : ['css',      {backgroundImage: "url(/edu.png)"}],
    'Projects'  : ['attr',     {src: "/projects.png"}],
    'Benefits'  : ['attr',     {src: "/benefits.png"}]
  };

  var method = changes[title][0];
  var valu   = changes[title][1];

  $('.contentHeader')[method](valu);

});
于 2013-03-25T09:00:43.483 に答える