jqueryを反応させてスティッキーヘッダーを作成しようとしていますが、正しく動作していないようです。ここに私のコードです。私は本当に助けに感謝します。私はこれを理解しようと何時間も立ち往生している。私は反応性の粘着を使用しようとしましたが、遠くまでスクロールすると常に消えます。私は本当にjqueryのスキルに取り組んでいます。私はwebpackとインデックスを使ってjqueryを追加しようとしました。jqueryを反応で使用するスティッキーdiv
index.htmlを
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="./stylesheets/reset.css"/>
<title>Portfolio Site</title>
</head>
<body>
<div id="app"></div>
<script src="https://code.jquery.com/jquery.min.js"></script>
<script src='/scripts/bundle.js'></script>
</body>
</html>
これは私のProjects.jsxコードです。
import React from 'react';
import $ from 'jquery';
import ProjectsHeader from './ProjectsHeader.jsx';
export default class Projects extends React.Component {
constructor() {
super()
}
render() {
return (
<div>
<section className="projects-background"></section>
<ProjectsHeader/>
<div className="demo-space"></div>
</div>
)
}
}
これは私のwebpack.config.jsコードです。
module.exports = {
entry: {
main: './public/app/PortfolioApp.jsx'
},
output: {
filename: 'bundle.js',
path: './public/scripts'
},
devtool: 'sourcemap',
module: {
loaders: [{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
loader: 'babel'
}, {
test: /\.s?css$/,
exclude: /node_modules/,
loaders: ["style", "css", "sass"]
}]
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
}
};
これは私のProjects.scssコードです。
body{
padding-top:350px;
}
.projects-background{
top: 0;
height: 100vh;
width: 100vw;
background-image: url(/img/code.jpeg);
background-repeat: no-repeat;
background-size: cover;
position: fixed;
}
.demo-space{
height: 200vh;
width:100vw;
background-color: green;
}
.header{
top: 0;
height: 15vh;
width: 100vw;
background-color: black;
opacity: 0.9;
display: flex;
flex-direction: row;
z-index: 1;
span{
height: 100vh;
width: 33.33%;
}
}
.sticky{
position: fixed;
}
ProjectsHeader.jsxコンポーネントコード
import React from 'react';
import jQuery from 'jquery';
import $ from 'jquery';
export default class ProjectsHeader extends React.Component{
constructor(){
super()
}
componentDidMount(){
var head = $(".header");
var stick = $(".sticky");
$(window).scroll(function(){
$(this).scrollTop() > 350
?head.addClass(stick)
:head.removeClass(stick)
})
}
render(){
return(
<div className="header">
<span></span>
<span></span>
<span></span>
</div>
)
}
}
あなたが共有できるので、同様
コンソールエラーが発生していますか? –
コンポーネントコードを追加しました。私はコンソールやwebpackに何のエラーも出ません。 –