web-dev-qa-db-ja.com

AddclassはjQueryの関数ではありません

ビューポート要素にクラスを追加する必要があるマウスオーバー関数がありますが、マウスオーバーするとFirebugでエラーが発生します:TypeError:jQuery(...)。addclassは関数ではありません。

hTMLは次のとおりです。

<!DOCTYPE html>
<html>
<head> 
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<title><?php wp_title('|','true','right'); ?><?php bloginfo('name'); ?></title>
<meta name="viewport" content="width=device-width" />
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url'     ); ?>" />
<?php wp_head(); ?>
</head>
<body <?php body_class($class); ?>>
<header>
<div class="main-logo">
    <div id="site-title">

    </div><!--.site-title-->
</div><!--main-logo-->

<div class="header-right">
</div><!--header-right-->
</header>

<nav class="main">
<?php wp_nav_menu( array( 'theme_location' => 'main-menu' ) ); ?>
</nav>

<div class="viewport">
<script type="text/javascript"><!--//--><![CDATA[//><!--
jQuery(document).ready(function(jQuery){
jQuery('nav .home a').mouseover(function()
  {
    jQuery('.viewport').addclass('.viewporthome');
  });
});
 //--><!]]></script>
</div>
</div>

関連するスタイルは次のとおりです。

    .viewport
    {
height: 400px;
width: 400px;
position: relative;
top: -90px;
margin: 0 auto;

}

.viewporthome
{
background-image: url('images/Screen2.png');
background-repeat: no-repeat;
background-position: center;
background-attachment: relative;

}

JSファイルは次のとおりです。

      var hoverhome = 'url("images/Screen2.png")';
  var empty = '';
  var success = 'SUCCESS!';
  //home
  jQuery('nav .home a').hover(function()
  {
    jQuery('.viewport').css('background-image', hoverhome);

  });
  jQuery('nav .home a').mouseout(function()
  {    
        jQuery('.viewport').css('background-image', empty);
  }); 
7
Chris

これを試して :

jQuery('.viewport').addClass('viewporthome');

addClassには大文字の「C」が必要です。

また、クラスを追加するときは、「。」を付ける必要はありません。文字列内またはクラスは..viewporthome

16

addClassの代わりに addclass を使用してください

5
Claudio Redi

クラスの追加:

$(".something").click(function(){
    $(this).addClass("style");
});

クラスの削除:

$(".something").click(function(){
    $(this).removeClass("style");
});
2

余分なドットを削除し、addclass()ではなくaddClass()を使用します

jQuery('.viewport').addClass('viewporthome');
1
A. Wolff

大文字と小文字を確認してください。 addClassメソッドの大文字は「C」です。

jQuery addClassメソッド

それでも画像が表示されない場合は、画像への相対パスに問題がある可能性があります。 imagesフォルダがJavascriptファイルと同じディレクトリにない場合は、パスを変更する必要があるかもしれません。ディレクトリ構造を知らなければ、何をする必要があるのか​​正確にはわかりません。

0
DRock Miller