body 테그에 펑션을 넣은뒤 채택완료

8년 전 조회 1,786

head.sub에 

<body>테그가 있자나요..


특정게시판 수정페이지에서 쓰기 위해

<body onscroll="myFunction()"> 을 넣었는데...

문제는 head.php는 head.sub.php를 불러오는 그누 구조때문에


모든 게시판에서 요소검사해보니 onscroll="myFunction()" 이 없다고 애러를 쏟아내는데

이런 경우는 어떻게 처리해야 하는지요?


*필요상 적용한 수정페이지에서는 당연히 해당 id가 있으니 애러 없구요,,

답변 2개

채택된 답변
+20 포인트

head.php나 

head.sub.php 에다가 


즉, 공통영역에

Copy
<script>$( "body" ).scroll(function() {    if (myFunction)  myFunction();});</script>

을 넣으시면 해결되지 않을까요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다~ 참고하여 해결하였습니다.
head.sub.php
<body 여기에 넣어야 하고 > 그러면 모든 페이지에서 적용되므로
스크립트가
<script>
var navbar = document.getElementById("navbar");
var sticky = navbar.offsetTop;

function myFunction() {
if (window.pageYOffset >= sticky) {
navbar.classList.add("sticky")
} else {
navbar.classList.remove("sticky");
}
}
</script>
이거라 head.sub.php에 이걸 넣고
정작 쓰고자 하는데는

getElementById("navbar2"); 이런식으로 처리햇습니다.
그러니 id가 충돌하지 않고,,잘됩니다.
바디테그에 뭔가 넣어야 할때 이런식으로 꼼수로 처리하면 될거 같습니다.ㅋ

댓글을 작성하려면 로그인이 필요합니다.

<body 여기에 넣어야 하고 > 그러면 모든 페이지에서 적용되므로 ... 


이 기능보다 좀더 포괄적인

jquery 가


$(document).ready(function() {

});


이거거든요

동일하게 작동시키는 약식이


$(function() {

   //여기에 넣어주면

   // body onload = "functions....();" 와 동일합니다.

   // 장점은 여러개를 넣기에 가독성이 좋다는거죠

});


https://api.jquery.com/ready/ 


참고하세요


로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고