前提・実現したいこと
「ボタンを押すと下に文が表示される(fadeInメソッドを使ってアニメーションをつける)」プログラムを作っています。
ここでは、Node.jsを導入した後、ポート番号を使ってapp.jsファイルを実行するとサーバが呼び出され、ejsファイルにアクセスするようにしています。
アクセスに成功すると、ejsファイルの実行結果が画面表示されるのですが、
CSSが反映されたものの、"ボタンをいくら押してもなかなか下の文が出てきません"。
jQueryで作成したファイルが正しく反映されていないかと思われます。
ボタンを押すとjQueryファイルが正しく反映するための対処方法を教えていただけると嬉しいです。
宜しくお願い致します。
該当のソースコード
js
1//app.js ejsファイルにアクセスするためのサーバ呼び出し 2const express = require('express'); 3const app = express(); 4 5app.use(express.static('public')); 6 7app.get('/', (req, res) => { 8 res.render('sample.ejs'); //sample.ejs・・・画面表示用ファイル 9}); 10 11app.listen(3000);
ejs
1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 <title>Sample</title> 6 <link rel="stylesheet" href="/css/sample.css"> <!--CSSファイルお読み込み(publicからの相対パス)--> 7 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 8 </head> 9 <body> 10 <div class="btn">文を表示</div> 11 <h1>Hello World!</h1> 12 13 <script src="sample.js"></script> <!--sample.js・・・jQueryで作成したファイル--> 14 </body> 15</html>
css
1.btn { 2 display: inline-block; 3 cursor: pointer; 4 color: white; 5 background-color: rgb(0, 204, 255); 6} 7 8h1 { 9 display: none; 10}
jQuery
1//jQueryでアニメーションをつける 2$(function() { 3 $('.btn').click(function() { 4 $('h1').fadeIn(); 5 }); 6});
試したこと
Node.jsを導入せずにejsファイルではなくhtmlファイルのままで開くと、jQueryで作成したjsファイルが正しく反映されます。
補足情報(FW/ツールのバージョンなど)
ファイルの構成としては、
・①publicフォルダ、②viewsフォルダ、③サーバ呼び出しのためのjsファイル(app.js)、④jQueryのファイル はすべて同じルート上にある
・publicフォルダの中にcssフォルダ、さらにcssフォルダの中にcssファイルがあり、viewフォルダの中にはejsファイルがある
という構成になっています。
回答1件
あなたの回答
tips
プレビュー