!DOCTYPE html
html lang=zh-CN
head
meta charset=UTF-8
meta name=viewport content=width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes
title哈哈影院 海量影视电影电视剧免费在线看 每日更新热门大片title
meta name=keywords content=真实电影推荐、在线影视网站、新片预告、经典电影、哈哈影院
meta name=description content=哈哈影院 提供真实欧美大片、国产剧集、高分经典影视信息,高清画质无广告,每日更新不等待。支持预约提醒,打造影迷一站式追剧平台。
style
{
margin 0;
padding 0;
box-sizing border-box;
}
body {
font-family system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
background #0d0f14;
color #e8edf2;
line-height 1.5;
opacity 0;
animation fadeIn 0.2s ease forwards;
}
@keyframes fadeIn {
0% { opacity 0; }
100% { opacity 1; }
}
a, button {
color inherit;
text-decoration none;
cursor pointer;
}
img {
display block;
width 100%;
height auto;
background #1f232b;
}
.wrapper-yt4391 {
max-width 1320px;
margin 0 auto;
padding 0 20px;
}
header.header-ew8421 {
background #12151c;
padding 14px 0;
border-bottom 1px solid #2a2f3a;
}
.header-inner-gh8392 {
display flex;
flex-wrap wrap;
align-items center;
justify-content center;
gap 24px 32px;
}
.site-name-ua7128 {
font-size 1.9rem;
font-weight 700;
letter-spacing 1px;
background linear-gradient(135deg, #f5b042, #e07c3e);
-webkit-background-clip text;
-webkit-text-fill-color transparent;
background-clip text;
}
.nav-menu-ql4839 {
display flex;
flex-wrap wrap;
gap 12px 28px;
font-weight 500;
}
.nav-menu-ql4839 a {
padding 8px 0;
border-bottom 2px solid transparent;
transition 0.2s;
}
.nav-menu-ql4839 ahover {
border-bottom-color #e07c3e;
}
.breadcrumb-az6742 {
padding 12px 0 6px;
font-size 0.9rem;
color #9aa3b2;
background transparent;
}
.breadcrumb-az6742 span {
background #1e222b;
padding 4px 14px;
border-radius 30px;
display inline-block;
}
.site-intro-bv8712 {
background #171b24;
padding 28px 20px;
margin 18px 0 28px;
border-radius 28px;
font-weight 700;
border-left 6px solid #e07c3e;
box-shadow 0 10px 20px rgba(0,0,0,0.5);
}
.site-intro-bv8712 p {
max-width 1000px;
margin 0 auto;
font-size 1.1rem;
line-height 1.7;
}
.section-card-group-uo5432 {
margin-bottom 48px;
}
.section-title-rt2309 {
display flex;
flex-wrap wrap;
align-items baseline;
justify-content space-between;
margin-bottom 20px;
border-bottom 2px solid #2f3542;
padding-bottom 10px;
}
.section-title-rt2309 h2 {
font-size 1.8rem;
font-weight 600;
}
.category-tags-yt7721 {
display flex;
flex-wrap wrap;
gap 8px 16px;
}
.category-tags-yt7721 a {
background #262c38;
padding 6px 18px;
border-radius 40px;
font-size 0.9rem;
transition 0.2s;
}
.category-tags-yt7721 ahover {
background #e07c3e;
color #0d0f14;
}
.grid-6cards-wq4462 {
display grid;
grid-template-columns repeat(auto-fill, minmax(160px, 1fr));
gap 20px;
}
.card-item-ty8934 {
background #1b1f28;
border-radius 20px;
overflow hidden;
transition all 0.25s ease;
position relative;
cursor pointer;
box-shadow 0 4px 12px rgba(0,0,0,0.4);
display flex;
flex-direction column;
}
.card-item-ty8934hover {
transform scale(1.03);
box-shadow 0 18px 30px rgba(0,0,0,0.7);
}
.card-item-ty8934hover .play-hover-ng3391 {
opacity 1;
transform translate(-50%, -50%) scale(1);
}
.img-wrapper-yt8832 {
background #262c38;
position relative;
overflow hidden;
aspect-ratio 23;
}
.img-wrapper-yt8832 img {
width 100%;
height 100%;
object-fit cover;
transition transform 0.2s;
}
.card-item-ty8934hover .img-wrapper-yt8832 img {
transform scale(1.03);
}
.play-hover-ng3391 {
position absolute;
top 50%;
left 50%;
width 64px;
height 64px;
background rgba(0,0,0,0.6);
border-radius 50%;
display flex;
flex-direction column;
align-items center;
justify-content center;
opacity 0;
transform translate(-50%, -50%) scale(0.7);
transition all 0.2s;
pointer-events none;
border 2px solid rgba(255,255,255,0.3);
color white;
font-size 0.7rem;
line-height 1.2;
backdrop-filter blur(2px);
}
.play-hover-ng3391 span {
font-size 1.8rem;
margin-bottom 2px;
}
.card-body-hy1123 {
padding 12px 10px 14px;
flex 1;
display flex;
flex-direction column;
gap 6px;
}
.card-body-hy1123 h3 {
font-size 1rem;
font-weight 600;
white-space nowrap;
overflow hidden;
text-overflow ellipsis;
}
.meta-row-yt4512 {
display flex;
justify-content space-between;
font-size 0.75rem;
color #a8b2c4;
}
.badge-kl2300 {
background #e07c3e;
padding 2px 10px;
border-radius 30px;
color #0d0f14;
font-weight 600;
font-size 0.7rem;
display inline-block;
}
.btn-watch-yt5532 {
background #2d3440;
border none;
padding 8px 0;
border-radius 40px;
font-size 0.8rem;
font-weight 500;
margin-top 6px;
transition 0.2s;
text-align center;
}
.btn-watch-yt5532hover {
background #e07c3e;
color #0b0d12;
}
.toast-container-yt1147 {
position fixed;
top 20px;
left 50%;
transform translateX(-50%);
background #1f2a36;
padding 14px 32px;
border-radius 60px;
box-shadow 0 12px 28px rgba(0,0,0,0.6);
z-index 2000;
font-weight 500;
border 1px solid #e07c3e;
color #f0e9dc;
opacity 0;
transition opacity 0.2s;
pointer-events none;
white-space nowrap;
max-width 90%;
text-align center;
}
.toast-container-yt1147.show-yt3321 {
opacity 1;
pointer-events none;
}
.modal-overlay-ty9012 {
position fixed;
inset 0;
background rgba(0,0,0,0.75);
backdrop-filter blur(4px);
display flex;
align-items center;
justify-content center;
z-index 3000;
opacity 0;
visibility hidden;
transition 0.2s;
}
.modal-overlay-ty9012.active-yt7621 {
opacity 1;
visibility visible;
}
.modal-box-yt3342 {
background #1b212b;
max-width 500px;
width 94%;
border-radius 32px;
padding 28px 24px 24px;
box-shadow 0 30px 50px rgba(0,0,0,0.8);
color #e8edf2;
position relative;
}
.modal-box-yt3342 h2 {
font-size 1.8rem;
margin-bottom 6px;
}
.modal-box-yt3342 .meta-gh4390 {
display flex;
gap 20px;
flex-wrap wrap;
font-size 0.9rem;
color #bcc4d4;
margin 8px 0 12px;
}
.modal-box-yt3342 p {
margin 12px 0 20px;
line-height 1.6;
}
.modal-actions-yt6732 {
display flex;
gap 16px;
justify-content flex-end;
}
.modal-actions-yt6732 button {
background #2d3440;
border none;
padding 10px 26px;
border-radius 40px;
font-weight 500;
transition 0.2s;
}
.modal-actions-yt6732 buttonhover {
background #e07c3e;
color #0d0f14;
}
.comment-section-yt2311 {
margin 40px 0 30px;
background #151a23;
padding 20px 24px;
border-radius 28px;
}
.comment-item-yt5423 {
padding 14px 0;
border-bottom 1px solid #2a3140;
}
.comment-item-yt5423last-child {
border-bottom none;
}
.comment-author-yt3321 {
font-weight 600;
color #cbd5e0;
}
.comment-text-yt4390 {
margin-top 6px;
color #b1bbcc;
}
footer.footer-yt2390 {
background #0e1118;
padding 32px 0 24px;
border-top 1px solid #262c38;
margin-top 20px;
}
.footer-links-yt3219 {
display flex;
flex-wrap wrap;
gap 18px 30px;
justify-content center;
font-size 0.9rem;
}
.footer-links-yt3219 a {
color #bcc4d4;
}
.footer-links-yt3219 ahover {
color #e07c3e;
}
.footer-meta-yt5732 {
text-align center;
margin-top 20px;
color #7e8899;
font-size 0.8rem;
}
@media (max-width 768px) {
.header-inner-gh8392 {
justify-content center;
flex-direction column;
}
.grid-6cards-wq4462 {
grid-template-columns repeat(2, 1fr);
gap 16px;
}
.site-intro-bv8712 p {
font-size 1rem;
}
}
@media (min-width 1024px) {
.grid-6cards-wq4462 {
grid-template-columns repeat(6, 1fr);
}
}
style
head
body
div class=wrapper-yt4391
header class=header-ew8421
div class=header-inner-gh8392
div class=site-name-ua7128哈哈影院div
nav class=nav-menu-ql4839
a href=#首页a
a href=#电影a
a href=#剧集a
a href=#综艺a
a href=#动漫a
a href=#预约a
nav
div
header
div class=breadcrumb-az6742span首页 电影 正在热播spandiv
section class=site-intro-bv8712
pstrong哈哈影院strong 提供真实欧美大片、国产剧集、高分经典影视信息,strong高清画质strong无广告,strong每日更新strong不等待。支持预约提醒,打造影迷一站式strong在线电影strong平台。strong免费观看strong热门大片,strong无广告strong打扰,畅享极致体验。本页面展示真实影视作品信息,所有点击跳转及播放功能正在开发中,敬请期待正式版。海量内容strong每日更新strong,strong哈哈影院strong做你的随身影院。p
section
main
section class=section-card-group-uo5432
div class=section-title-rt2309
h2🔥 正在热播h2
div class=category-tags-yt7721
a href=#动作aa href=#科幻aa href=#喜剧aa href=#剧情a
div
div
div class=grid-6cards-wq4462 id=section1-yt9234div
section
section class=section-card-group-uo5432
div class=section-title-rt2309
h2📺 高分剧集h2
div class=category-tags-yt7721
a href=#悬疑aa href=#爱情aa href=#古装aa href=#犯罪a
div
div
div class=grid-6cards-wq4462 id=section2-yt4521div
section
section class=section-card-group-uo5432
div class=section-title-rt2309
h2🎬 经典电影h2
div class=category-tags-yt7721
a href=#豆瓣Topaa href=#奥斯卡aa href=#华语aa href=#欧美a
div
div
div class=grid-6cards-wq4462 id=section3-yt7723div
section
section class=section-card-group-uo5432
div class=section-title-rt2309
h2🎭 热门综艺h2
div class=category-tags-yt7721
a href=#真人秀aa href=#脱口秀aa href=#音乐aa href=#生活a
div
div
div class=grid-6cards-wq4462 id=section4-yt1193div
section
section class=section-card-group-uo5432
div class=section-title-rt2309
h2🌟 动漫新番h2
div class=category-tags-yt7721
a href=#热血aa href=#奇幻aa href=#恋爱aa href=#搞笑a
div
div
div class=grid-6cards-wq4462 id=section5-yt6621div
section
main
div class=comment-section-yt2311
h3 style=margin-bottom 14px;💬 影迷热评h3
div class=comment-item-yt5423span class=comment-author-yt3321电影迷小Aspandiv class=comment-text-yt4390哈哈影院资源真的全,每日更新很良心!divdiv
div class=comment-item-yt5423span class=comment-author-yt3321追剧达人CCspandiv class=comment-text-yt4390没有广告太爽了,期待正式版上线!divdiv
div class=comment-item-yt5423span class=comment-author-yt3321经典控老张spandiv class=comment-text-yt4390希望加入更多经典老片,支持高清画质。divdiv
div
footer class=footer-yt2390
div class=footer-links-yt3219
a href=# data-modal=about关于我们a
a href=# data-modal=help帮助中心a
a href=# data-modal=links友情链接a
a href=# data-modal=complaint内容投诉a
div
div class=footer-meta-yt5732
p© 2026 哈哈影院 侵权必删p
p沪ICP备2026span id=randomBeian-yt33214821span号p
div
footer
div
div class=toast-container-yt1147 id=toast-yt1111功能开发中,即将开放,敬请期待div
div class=modal-overlay-ty9012 id=modalOverlay-yt3200
div class=modal-box-yt3342 id=modalBox-yt2281
h2 id=modalTitle-yt4412片名h2
div class=meta-gh4390 id=modalMeta-yt3312年份 · 类型div
p id=modalDesc-yt6612简介信息p
div class=modal-actions-yt6732
button id=modalClose-yt7721关闭button
button id=modalGoto-yt8821前往观看(开发中)button
div
div
div
script
(function(){
const toastEl = document.getElementById('toast-yt1111');
let toastTimer = null;
function showToast(msg) {
if (toastTimer) { clearTimeout(toastTimer); toastTimer = null; }
toastEl.textContent = msg '功能开发中,即将开放,敬请期待';
toastEl.classList.add('show-yt3321');
toastTimer = setTimeout(() = {
toastEl.classList.remove('show-yt3321');
toastTimer = null;
}, 2000);
}
document.addEventListener('click', function(e) {
const target = e.target.closest('[data-toast]');
if (target) {
e.preventDefault();
showToast();
return;
}
});
const realMovies = [
{ title'流浪地球2', year2023, type'movie', score8.3, hot'4K', desc'人类开启流浪计划,危机与希望并存', director'郭帆', img'001-movie' },
{ title'阿凡达:水之道', year2022, type'movie', score8.0, hot'HDR', desc'潘多拉星球的海洋史诗', director'詹姆斯·卡梅隆', img'002-movie' },
{ title'满江红', year2023, type'movie', score7.8, hot'4K', desc'悬疑反转,笑中带泪', director'张艺谋', img'003-movie' },
{ title'奥本海默', year2023, type'movie', score8.9, hot'IMAX', desc'原子弹之父的传奇', director'诺兰', img'004-movie' },
{ title'肖申克的救赎', year1994, type'movie', score9.7, hot'高清', desc'希望与自由的赞歌', director'弗兰克·德拉邦特', img'005-movie' },
{ title'霸王别姬', year1993, type'movie', score9.6, hot'高清', desc'风华绝代,时代悲歌', director'陈凯歌', img'006-movie' },
{ title'狂飙', year2023, type'tv', score8.5, hot'39集全', desc'扫黑除恶,正义狂飙', director'徐纪周', img'007-tv' },
{ title'漫长的季节', year2023, type'tv', score9.4, hot'12集全', desc'悬疑背后的命运', director'辛爽', img'008-tv' },
{ title'三体', year2023, type'tv', score8.7, hot'30集全', desc'科幻巨制,宇宙闪烁', director'杨磊', img'009-tv' },
{ title'人世间', year2022, type'tv', score8.4, hot'58集全', desc'五十年中国百姓生活史', director'李路', img'010-tv' },
{ title'权力的游戏', year2011, type'tv', score9.3, hot'8季全', desc'冰与火的史诗', director'DB·威斯', img'011-tv' },
{ title'后宫·甄嬛传', year2011, type'tv', score9.3, hot'76集全', desc'宫廷争斗经典', director'郑晓龙', img'012-tv' },
{ title'繁花', year2023, type'tv', score8.7, hot'30集全', desc'王家卫镜头下的上海', director'王家卫', img'013-tv' },
{ title'大话西游之大圣娶亲', year1995, type'movie', score9.2, hot'高清', desc'一生所爱', director'刘镇伟', img'014-movie' },
{ title'泰坦尼克号', year1997, type'movie', score9.4, hot'4K', desc'经典爱情', director'詹姆斯·卡梅隆', img'015-movie' },
{ title'千与千寻', year2001, type'movie', score9.4, hot'高清', desc'神隐少女', director'宫崎骏', img'016-movie' },
{ title'星际穿越', year2014, type'movie', score9.4, hot'4K', desc'穿越虫洞', director'诺兰', img'017-movie' },
{ title'让子弹飞', year2010, type'movie', score9.0, hot'高清', desc'站着把钱挣了', director'姜文', img'018-movie' },
{ title'向往的生活', year2023, type'variety', season7, score7.6, hot'第7季', desc'慢生活真人秀', director'王征宇', img'019-variety' },
{ title'明星大侦探', year2024, type'variety', season9, score8.9, hot'第9季', desc'推理探案', director'何忱', img'020-variety' },
{ title'中国好声音', year2023, type'variety', season12, score6.5, hot'第12季', desc'音乐选秀', director'金磊', img'021-variety' },
{ title'奔跑吧', year2024, type'variety', season12, score7.0, hot'第12季', desc'户外竞技', director'姚译添', img'022-variety' },
{ title'乘风2024', year2024, type'variety', season5, score7.2, hot'第5季', desc'姐姐成团', director'吴梦知', img'023-variety' },
{ title'喜剧之王单口季', year2024, type'variety', season1, score8.3, hot'第1季', desc'单口喜剧', director'小鹿', img'024-variety' },
{ title'鬼灭之刃 锻刀村篇', year2023, type'anime', score8.9, hot'12集', desc'炭治郎新冒险', director'外崎春雄', img'025-anime' },
{ title'咒术回战 涩谷事变', year2023, type'anime', score8.8, hot'23集', desc'咒术大战', director'朴性厚', img'026-anime' },
{ title'进击的巨人 最终季', year2023, type'anime', score9.4, hot'12集', desc'自由与束缚', director'林祐一郎', img'027-anime' },
{ title'葬送的芙莉莲', year2023, type'anime', score9.5, hot'28集', desc'精灵之旅', director'斋藤圭一郎', img'028-anime' },
{ title'海贼王 和之国篇', year2023, type'anime', score8.7, hot'持续更新', desc'路飞新冒险', director'长峰达也', img'029-anime' },
{ title'间谍过家家 第二季', year2023, type'anime', score8.8, hot'12集', desc'伪装家庭', director'古桥一浩', img'030-anime' }
];
const sectionMap = {
'section1-yt9234' [0,1,2,3,4,5],
'section2-yt4521' [6,7,8,9,10,11],
'section3-yt7723' [12,13,14,15,16,17],
'section4-yt1193' [18,19,20,21,22,23],
'section5-yt6621' [24,25,26,27,28,29]
};
function renderCards() {
for (const [secId, indices] of Object.entries(sectionMap)) {
const container = document.getElementById(secId);
if (!container) continue;
container.innerHTML = '';
indices.forEach(idx = {
const item = realMovies[idx];
if (!item) return;
const card = document.createElement('div');
card.className = 'card-item-ty8934';
card.dataset.index = idx;
const typeLabel = item.type === 'movie' '电影' item.type === 'tv' '剧集' item.type === 'variety' '综艺' '动漫';
const seasonInfo = item.season `第${item.season}季` '';
const extra = item.type === 'variety' (seasonInfo item.hot) item.hot;
card.innerHTML = `
div class=img-wrapper-yt8832
img src=uploadvod${item.img}.webp alt=${item.title} ${typeLabel} ${item.year} ${item.director ''} loading=lazy
div class=play-hover-ng3391span▶span立即观看div
div
div class=card-body-hy1123
h3${item.title}h3
div class=meta-row-yt4512
span⭐${item.score}span
span${extra}span
div
button class=btn-watch-yt5532 data-toast=1想看 预约button
div
`;
container.appendChild(card);
});
}
}
renderCards();
const modalOverlay = document.getElementById('modalOverlay-yt3200');
const modalBox = document.getElementById('modalBox-yt2281');
const modalTitle = document.getElementById('modalTitle-yt4412');
const modalMeta = document.getElementById('modalMeta-yt3312');
const modalDesc = document.getElementById('modalDesc-yt6612');
const closeModalBtn = document.getElementById('modalClose-yt7721');
const gotoBtn = document.getElementById('modalGoto-yt8821');
function openModal(index) {
const item = realMovies[index];
if (!item) return;
modalTitle.textContent = item.title;
const typeMap = {movie'电影', tv'剧集', variety'综艺', anime'动漫'};
const typeStr = typeMap[item.type] '影片';
modalMeta.textContent = `${item.year} · ${typeStr} · ⭐${item.score} · ${item.director ''}`;
modalDesc.textContent = item.desc '精彩影视内容,敬请期待。';
modalOverlay.classList.add('active-yt7621');
}
function closeModal() {
modalOverlay.classList.remove('active-yt7621');
}
document.addEventListener('click', function(e) {
const card = e.target.closest('.card-item-ty8934');
if (card && !e.target.closest('[data-toast]') && !e.target.closest('.btn-watch-yt5532')) {
e.preventDefault();
const idx = card.dataset.index;
if (idx !== undefined) openModal(parseInt(idx));
return;
}
if (e.target.closest('#modalClose-yt7721')) {
closeModal();
return;
}
if (e.target.closest('#modalGoto-yt8821')) {
e.preventDefault();
showToast();
return;
}
if (e.target.closest('.modal-overlay-ty9012') && !e.target.closest('.modal-box-yt3342')) {
closeModal();
return;
}
});
document.querySelectorAll('[data-modal]').forEach(link = {
link.addEventListener('click', function(e) {
e.preventDefault();
const type = this.dataset.modal;
let title = '', desc = '';
if (type === 'about') { title='关于我们'; desc='哈哈影院致力于为用户提供最新最全的影视资讯,本站仅展示作品信息,无播放功能。我们尊重版权,侵权必删。'; }
else if (type === 'help') { title='帮助中心'; desc='如遇问题请联系客服,本站为影视信息展示平台,所有播放功能尚在开发。'; }
else if (type === 'links') { title='友情链接'; desc='欢迎影视同行业交换链接,请联系官方邮箱。'; }
else if (type === 'complaint') { title='内容投诉'; desc='如发现违法或侵权内容,请发送邮件至投诉邮箱,我们将在24小时内处理。'; }
modalTitle.textContent = title;
modalMeta.textContent = '哈哈影院';
modalDesc.textContent = desc;
modalOverlay.classList.add('active-yt7621');
});
});
document.querySelectorAll('.btn-watch-yt5532').forEach(btn = {
btn.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
showToast();
});
});
const beianSpan = document.getElementById('randomBeian-yt3321');
if (beianSpan) beianSpan.textContent = Math.floor(Math.random()9000+1000);
window.showToast = showToast;
})();
script
body
html