Milky_English
@Milky_English

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

jQuery slideDownとslideUpが適用されない;;

解決したいこと

JavaScriptとjQueryを勉強中です。
slideDownとslideUpが適用されないため、解決策をご教示いただきたいですorz

【補足】
「適用されない」というのは、slideDownとslideUpの動きが画面に表示されない、という意味です。

下記のコード書いてhtmlファイルをプレビューし、
検証ツールのElementsを確認すると、

<div class="box1" style="background-color: rgb(0, 0, 255); width: 200px; height: 100px; display: none;"></div>

このように記載されています。

発生している問題

以下のように記述しており、slideDownとslideUpが適用されません。
jQueryに記述したcssは適用されています。

【index.html】

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meat charset="utf-8">
      <link rel="stylesheet" href="app.css" />
  </head>

  <body>
    <div class="box1"></div>
    <script src="jquery.min.js"></script>
    <script src="app.js"></script>
  </body>
</html>

【app.css】

.box1 {
  background-color: #FF0000;
  height: 200px;
  width: 200px;
}

【app.js】

$(function (){
  $('.box1').slideDown(function (){
    $('.box1').css({
      'background-color': '#0000FF',
      'width': '200px',
      'height': '100px'
    }).slideUp();
  });
});

自分で試したこと

学習を始めたばかりで、手も足も出ない状況です;;
chatpGPTで以下の4点を確認しました。

・タイプミスはなさそうとのこと。

・最新版のjQueryを使用するよう言われた。
 → 最新版(jQuery 3.7.0)を使用中。

・jquery.min.jsへのファイルパスは間違いないか?
 →間違いない。同じディレクトリ下にあり、ファイル名も間違いない。

・開発者ツールのコンソールにエラーメッセージが表示されていないか?
 →表示されていない

お手数おかけいたしますが、これ以上学習が進められない状況になってしまい、大変困っております;;
どなたかお返事いただけますと幸いです...;;

0

1Answer

slideDownとslideUpが適用されません。

どのような動きになると、あなたが言う「適用」されたことになるのでしょうか?


Up とDown を反対にして(先に Up、次に Down)、ある程度時間をかけるようにしたら動いているのが分かると思います。以下のような感じ。

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
        .box1 {
            background-color: #FF0000;
            height: 200px;
            width: 200px;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <script src="Scripts/jquery-3.4.1.js"></script>
    <script type="text/javascript">
        $(function () {
            $('.box1').slideUp(3000, function () {
                $('.box1').css({
                    'background-color': '#0000FF',
                    'width': '200px',
                    'height': '100px'
                });
            }).slideDown(3000);
        });
    </script>
</body>
</html>

Up 中

Up.jpg

Down 完了

Down.jpg

1Like

Comments

  1. @Milky_English

    Questioner

    コメントありがとうございます!
    曖昧な表現を使ってしまい申し訳ありません><
    補足を追記しました。ご確認いただけると大変助かります。

    【補足】
    「適用されない」というのは、slideDownとslideUpの動きが画面に表示されない、という意味です。

    下記のコード書いてhtmlファイルをプレビューし、
    検証ツールのElementsを確認すると、

    <div class="box1" style="background-color: rgb(0, 0, 255); width: 200px; height: 100px; display: none;"></div>
    

    このように記載されています。

  2. このコメントは上の回答に移動しました

  3. @Milky_English

    Questioner

    ご回答ありがとうございます!!速すぎて見えない、という可能性があるのですね。
    確かに、検証ツールのelementsを見ると、記載内容が一瞬変わっているように見えますので、大変納得できました。

    いただいた上記コードもうまく見えなかったのですが、理解ができたので大変助かりました。ありがとうございます!!

  4. いただいた上記コードもうまく見えなかったのですが

    自分の環境では、回答に貼った画像に示した通り、赤の長方形が 3 秒かけてスライドアップして消えていき、次に青い長方形が 3 秒かけてスライダダウンします。

    質問者さんの環境でそうならない原因を探す方が先かもしれません。

Your answer might help someone💌