te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - showhide div can do without jquery? - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - showhide div can do without jquery? - Stack Overflow

programmeradmin4浏览0评论

I have a script that is now working, but there's still conflict with other scripts on page that I have no control over... (hosted e- site with limited access) - is there a way to acplish this, but with plain javascript?

var $b = jQuery.noConflict(true);

var d = new Date();
var dayOfWeek = d.getUTCDay();
var hour = d.getUTCHours();
var mins = d.getMinutes();
var status = 'open';

if (dayOfWeek !== 6 && dayOfWeek !== 0 && hour >= 12 && hour < 22)
    status = 'open';
else
    status = 'closed';

if (status=='open')
    $b('.orderby').show();
else
    $b('.orderby').hide();

I have a script that is now working, but there's still conflict with other scripts on page that I have no control over... (hosted e- site with limited access) - is there a way to acplish this, but with plain javascript?

var $b = jQuery.noConflict(true);

var d = new Date();
var dayOfWeek = d.getUTCDay();
var hour = d.getUTCHours();
var mins = d.getMinutes();
var status = 'open';

if (dayOfWeek !== 6 && dayOfWeek !== 0 && hour >= 12 && hour < 22)
    status = 'open';
else
    status = 'closed';

if (status=='open')
    $b('.orderby').show();
else
    $b('.orderby').hide();
Share Improve this question edited Jul 21, 2016 at 13:52 Mohammad 21.5k16 gold badges56 silver badges84 bronze badges asked Jul 21, 2016 at 13:48 M21M21 3434 silver badges17 bronze badges 5
  • 4 Possible duplicate of Show hide divs on click in HTML and CSS without jQuery – NIKHIL RANE Commented Jul 21, 2016 at 13:49
  • 1 what is the conflict? – epascarello Commented Jul 21, 2016 at 13:50
  • @NIKHILRANE - I need it to be timed, not on click. So it's different than what you posted. – M21 Commented Jul 21, 2016 at 13:51
  • @epascarello - not sure, but it breaks the cart & checkout pages, for which I have limited access, so I cannot change that, I must change this script, since it is what I do have access to. – M21 Commented Jul 21, 2016 at 13:52
  • if you have a .hidden class you can use something like this: stackoverflow./questions/35467207/… – JKirchartz Commented Jul 21, 2016 at 13:52
Add a ment  | 

4 Answers 4

Reset to default 7

You only have 1 tiny bit of jquery in your code

if (status=='open') {
    $b('.orderby').show();
}else{
    $b('.orderby').hide();
}

This can be converted to (updating to JQuery equivalent):

if (status=='open') {
    document.querySelector('.orderby').style.display = "block";
}else{
    document.querySelector('.orderby').style.display = "none";
}

You can use this:

var elem = document.querySelector(".elementClass");
elem.style.display = (status === 'open') ? 'block' : 'none';

Yes. You can use querySelectorAll to get elements and loop over them and add a class that will set display: none.

show

var el = document.querySelectorAll(".orderby");
for(var k in el){
  el[k].className = el[k].className.replace("hide", "");
}

hide

var el = document.querySelectorAll(".orderby");
for(var k in el){
  el[k].className += 'hide';
}

you could use this:

if (status=='open') {
        document.getElementsByClassName('orderby')[0].style.display = "block";
    }else{
        document.getElementsByClassName('orderby')[0].style.display = "none";
    }
发布评论

评论列表(0)

  1. 暂无评论